Cross-device session continuity: account-scoped session sync
The user story
I'm in Claude Code on my laptop, deep in a session — Claude has read 30 files, made 12 edits, run my test suite three times. I close the laptop and walk to lunch. I open Claude on my phone. The conversation is there. I can keep ideating, reviewing, drafting next steps. When I'm back at the laptop, the conversation I had on my phone is part of the session history, and I can act on the conclusions.
No file transfers. No copy-paste of giant JSONLs. No third-party extractors. A checkbox.
Why now: continuity for users without persistent compute
A class of users who'd benefit immediately: people who can't keep a laptop or VM on all the time. Students, anyone on a single shared device, anyone in a context where leaving a workstation running overnight isn't an option. Today, when they close the laptop, the session is gone in any practical sense — the JSONL still exists, but loading it back requires being at the same machine. With cross-device session continuity, they can keep the chain of thought going on whatever device is in their hand at the time, and pick up execution when they're back at compute. Context portability is the leverage; the laptop dependency is the bottleneck.
This isn't just a power-user convenience. It's the difference between "Claude Code is something I use when I'm at my desk" and "Claude Code is something I can think with while I'm not."
Ecosystem evidence
At least four user-space tools chase some version of this gap:
- achiii800/claude-snap — lossless structural codec, portable JSONL artifact (~500 LOC stdlib, byte-identical roundtrip on real session JSONLs).
- jimmc414/cctrace — markdown/XML export for archival.
- thedotmack/claude-mem — summarization-based memory.
- ZeroSumQuant/claude-conversation-extractor — JSONL dump.
Each solves the data layer differently (lossless vs lossy, machine-readable vs human-readable). None can solve the UX, because the UX requires (1) account-scoped state both clients can see and (2) receiving clients (mobile, claude.ai) ingesting the artifact as live context, not as a pasted document.
Proposed UX
Sender (Claude Code on laptop): a checkbox or /fork-to-devices slash command. Activating it uploads the current session's lossless snapshot to a per-account session-fork queue. The --fork-session --export flag from #55472 is the underlying primitive.
Receiver (Claude mobile, claude.ai): the queue surfaces as "Resume forked session from [device name]" the next time the user opens any Claude client. One tap loads the snapshot as live context.
Asymmetry is first-class. A receiver without the repo (the phone) loads the snapshot in read mode: full conversational and contextual history, but the tool surface is limited to non-mutating tools, or none. The model can ideate, suggest, draft — it cannot Edit / Write / Bash against a filesystem it has no executor for. Execution agency stays bound to where the files live. The asymmetry isn't a limitation to fix; it's the property that makes cross-device safe.
Reattach. When the user is back on the laptop, Claude Code re-pulls the receiver-side conversation and merges it into the existing session, restoring full execution agency.
Related
#55472 — --fork-session --export <path> and --import <path> as the underlying primitive. The UX in this issue calls into that.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗