github / github/app

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

Offen
#2,368 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Keine Sprachdaten
Sterne
2.1k
Forks
153
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

### 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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Das Issue nennt das Panel mit Sitzungsdetails, den Sitzungskontext und die Header-Menüs, den Composer, den Picker und das Rendern eingefügter Referenzen als Einstiegspunkte. Beginne damit nachzuverfolgen, wie Sitzungs-IDs derzeit für sitzungsübergreifende Nachrichten verwendet werden und wie das Panel mit Sitzungsdetails und der Composer Sitzungen darstellen. Als erledigt sollte der angegebene kleinste sinnvolle erste Schritt gelten: eine ID mit Kopierunterstützung anzuzeigen und eine eingefügte ID im Composer aufzulösen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
github
Bereich
desktop, frontend
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.