[FEATURE] "Copy link to session" in Desktop: a native claude:// link that opens a specific chat
Preflight Checklist
- [x] I have searched existing requests — the closest ones are listed under [Related issues](#related-issues) and cover the inbound / VS Code halves, not this one
- [x] This is a single feature request
Problem Statement
A session is the primary unit of work in the Desktop app's Code tab, and the sidebar routinely holds dozens of them, but a session has no address I can hand to anything else. Nothing in the session toolbar, the session-title dropdown, or the sidebar's hover/context controls produces a link.
The nearest things that exist are all a different feature:
https://claude.ai/code/<session-id>exists only for cloud sessions, and opens a browser rather than the app I am actually working in.- Continue in > Claude Code on the Web is the only documented way to make a local session addressable, and it is a fork, not a link: Desktop pushes the branch, generates a summary, and creates a new cloud session. It requires a clean working tree and is unavailable for SSH sessions. The resulting URL points at a copy, not at the conversation I was looking at.
- Remote Control makes a local session reachable from my own devices at claude.ai/code. That is same-account monitoring, not an address I can save or send.
So the reasoning inside a session is effectively unreferenceable. I want to paste "the session where we worked this out" into a Jira ticket, a PR description, a Slack message, or my own notes, and click it a week later. Today the closest I can offer is a filesystem path to a ~/.claude/projects/<slug>/<uuid>.jsonl transcript plus an instruction to run claude --resume, which is not a link and means nothing to anyone else.
Proposed Solution
Copy link to session, in the session-title dropdown and the sidebar's per-session context menu (a keyboard shortcut would be a bonus), yielding a native URL that opens the Desktop app on that session.
The app already registers the scheme, so this is an app-side route plus a copy affordance rather than new plumbing:
$ plutil -extract CFBundleURLTypes json -o - /Applications/Claude.app/Contents/Info.plist
[{"CFBundleURLName":"Claude","CFBundleURLSchemes":["claude"]}, ...]
(Claude Desktop 1.37937.3, macOS)
Behaviour I am asking for:
- A stable URL per session, e.g.
claude://code/session/<id>. - Opening it focuses the existing conversation: window forward, navigate to that session. It must not import, duplicate, or snapshot the transcript.
- A clear, quiet failure when the session does not exist on this machine or belongs to another account, rather than silently creating something new.
- Available for every session kind where an id already exists: local, cloud, SSH, and Dispatch-spawned.
- For cloud sessions, let the same action also yield the
claude.ai/codeURL, since both are useful for different audiences. Copying both, or a small submenu, would do.
Alternative Solutions
| Workaround | Why it does not solve this |
| --- | --- |
| Continue in > Claude Code on the Web | Forks the session into a new cloud session; needs a clean working tree; unavailable over SSH |
| claude.ai/code/<id> URL | Cloud sessions only; opens the browser, not the app |
| Remote Control | Own devices, same account; a live view, not an address |
| claude --resume plus the transcript path | Machine-local, not clickable, meaningless to a teammate or a ticket |
| claude://resume?session=<uuid> | Per #85042, this imports a stale snapshot instead of focusing the live session |
Priority
Medium - Would be very helpful
Feature Category
Other — Desktop app (area:desktop)
Use Case Example
- I spend a long Code session working out why a payment retry job double-charges, including two approaches we tried and rejected, and land the fix.
- I copy the link to that session and paste it into the Jira ticket and the PR description.
- Three weeks later a regression lands in the same code path. I click the link from the ticket, and Desktop comes forward on that exact conversation, with the reasoning, the rejected approaches, and the diff review intact.
- Today step 2 does not exist, so all of that context is stranded in an app I cannot point at.
Related issues
- #85042 asks for the inbound half: making the already-gated
codesession deep link reachable, with an id external tools can obtain, so a session monitor can focus a running Desktop session. This request is the outbound, user-facing half: a way for the app to hand me that link in the first place. The two fit together, and if you would rather track them as one, please fold this in. - #85726 is the equivalent for the VS Code extension (
/open?session=…&target=…). - #81202 asks for a deep link to resume a Cowork session.
Environment
- Claude Desktop 1.37937.3
- macOS, Darwin 25.5.0
---
🤖 Filed with Claude Code on behalf of the reporter