github / github/app

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

Open
#2,368 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
2.1k
Forks
153
PR merge metrics
No merged PRs in 30d

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.

Contributor guide

Open the contributing guide

Research direction

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.

Written by the indexing model from the issue text.

Assessment

Tech stack
github
Domain
desktop, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.