[FEATURE] "Copy link to session" in Desktop: a native claude:// link that opens a specific chat

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 28, 2026

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:

  1. A stable URL per session, e.g. claude://code/session/<id>.
  2. Opening it focuses the existing conversation: window forward, navigate to that session. It must not import, duplicate, or snapshot the transcript.
  3. A clear, quiet failure when the session does not exist on this machine or belongs to another account, rather than silently creating something new.
  4. Available for every session kind where an id already exists: local, cloud, SSH, and Dispatch-spawned.
  5. For cloud sessions, let the same action also yield the claude.ai/code URL, 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

  1. 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.
  2. I copy the link to that session and paste it into the Jira ticket and the PR description.
  3. 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.
  4. 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 code session 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

View original on GitHub ↗