Skip to content

Make it easy to reference one session from another: copy session reference, @-mention sessions, clickable session chips #2368

Description

@titan-ron

Feature summary

Give sessions a first-class, copyable reference — session id, deep link, and human label — plus an @-mention picker in the composer, so pointing one session at another is a click instead of a description.

What problem are you trying to solve?

Sessions already relate to each other. They spawn child sessions, they send cross-session messages, they get orchestrated in parallel, and they stack dependent PRs. But there is no cheap way to name a session.

The session id is not surfaced anywhere in the UI, so referring to another session means describing it in prose: "the session where I fixed the crawler issue in the other repo". That is ambiguous when two sessions touch the same area, and it forces the agent to go hunting — or to ask me to go hunting — instead of resolving a handle.

Concretely, things that should be trivial and are not:

  • "Continue what that other session started" — I cannot hand over a pointer.
  • "This session found the root cause; go read its plan" — no way to link it.
  • "These three sessions are the same effort" — no way to relate them after the fact.
  • Reporting a bug about a specific session — no id to include.

The pieces are clearly already there under the hood, since sessions can message each other by id. What is missing is exposing that id to the human.

Proposed solution

1. Copy session reference

In the session context menu and the session header overflow menu, a Copy session reference submenu offering:

  • Session id — the raw identifier, for tooling and bug reports.
  • Deep link — e.g. copilot://session/<id>, which focuses that session when opened.
  • Human label — e.g. session: SEO review (my-org/my-repo · fix-crawler), for pasting into a message or a PR description.

2. Session id visible in details, with one-click copy

The session details panel should just show the id with a copy button. Always retrievable, no menu digging.

3. @-mention picker in the composer

Typing @session (or @ with a session section in the existing picker) offers a searchable list showing name, repository, branch, and last activity — so the right one is identifiable at a glance. Selecting it inserts a real reference, not plain text.

4. Pasted references render as chips

A pasted deep link or reference renders as a chip with the session name and repo, clickable to jump to that session. Same idea as #123 becoming a linked issue reference on GitHub.

5. Make references resolvable by the agent

The important half: when a session reference is in the prompt, the agent should be able to act on it — read that session's summary, plan, and recent turns, and send it a message — without asking me for an id. That turns "look at what that session found" into a working instruction rather than a hint.

6. Backlinks, ideally

If session A references session B, showing that relationship on B ("referenced by: …") makes a multi-session effort navigable after the fact, which is where it is usually needed.

Workflow impact

This helps anyone running more than one session at a time, which is the app's core pitch. It makes hand-offs between sessions concrete, makes multi-session efforts navigable instead of remembered, and makes bug reports about session behavior precise. It is also a small building block that several bigger asks quietly depend on — orchestration, stacked PRs, and any "related work" surface all need a way to name a session.

Installation context

Desktop app, local and cloud sessions, across projects.

Additional context

Related: #248 (feature-centric session trees) and #1035 (single session across multiple repositories). Both are about session structure; neither gives me a copyable reference to an existing session, which is the cheap primitive that would make those easier to build on.

Smallest useful first step: show the session id in session details with a copy button, and accept a pasted id in the composer as a resolvable reference. The @-mention picker and chips can follow.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions