Make it easy to reference one session from another: copy session reference, @-mention sessions, clickable session chips
- Langage dominant
- Aucune donnée de langage
- Étoiles
- 2.1k
- Forks
- 153
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
### 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/`, 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.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
The issue names the session details panel, session context and header menus, composer, picker, and pasted-reference rendering as entry points. Start by tracing how session ids are currently used for cross-session messages and how the details panel and composer represent sessions. Done should cover the stated smallest useful first step: showing an id with copy support and resolving a pasted id in the composer.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- github
- Domaine
- desktop, frontend
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100