What
Cross-account "resume" as copy-fork: continue an existing conversation under a different Claude Code account by copying its transcript into the target account — never by linking or switching in place.
source: ~/.claude/projects/<encoded-cwd>/<session-id>.jsonl (the chat history)
│ copy
▼
target: ~/.claude-work/projects/<same-encoded-cwd>/<NEW-uuid>.jsonl
then: CLAUDE_CONFIG_DIR=~/.claude-work command claude --resume <NEW-uuid>
Semantics: fork, not move — the source session stays intact in its own account; the fork continues under the target account's identity/billing/org. Only conversation content transfers; credentials/login never do.
Use cases (niche but real)
- Started a work conversation under the personal account by mistake (or vice versa) — continue it under the right identity.
- Personal quota exhausted mid-task — hand the conversation to the work account.
Why it's parked (workarounds needed — experiment before building)
- Per-line
sessionId fields: transcript JSONL lines carry the session id internally. Renaming the file to a new UUID without rewriting those fields may or may not confuse Claude Code — needs an experiment (like the symlink one that validated Batch 3 sharing). Likely need a rewrite pass over the copied file.
- New UUID is mandatory: the same id existing in two accounts' dirs would break CodeV's account attribution (status dots, resume env selection) which assumes ids are unique across config dirs.
history.jsonl entry: the copy has no entry in the target account's history, so it may not appear in CodeV's Sessions list until resumed once — may need a synthetic history entry.
- Compaction/summary references: verify a compacted transcript is fully self-contained when copied.
- UX wording must be honest: "Continue in work (copies this conversation)" — never "Resume as work", which implies in-place identity switching that doesn't exist.
Decision
Deferred (user decision, 2026-07-10) — depends on workarounds above; revisit alongside Batch 3 share UX (design doc §5/§6.G; 2c-lite shipped the new-session picker half in #126). Priority: P3.
🤖 On behalf of @grimmerk — generated with Claude Code
What
Cross-account "resume" as copy-fork: continue an existing conversation under a different Claude Code account by copying its transcript into the target account — never by linking or switching in place.
Semantics: fork, not move — the source session stays intact in its own account; the fork continues under the target account's identity/billing/org. Only conversation content transfers; credentials/login never do.
Use cases (niche but real)
Why it's parked (workarounds needed — experiment before building)
sessionIdfields: transcript JSONL lines carry the session id internally. Renaming the file to a new UUID without rewriting those fields may or may not confuse Claude Code — needs an experiment (like the symlink one that validated Batch 3 sharing). Likely need a rewrite pass over the copied file.history.jsonlentry: the copy has no entry in the target account's history, so it may not appear in CodeV's Sessions list until resumed once — may need a synthetic history entry.Decision
Deferred (user decision, 2026-07-10) — depends on workarounds above; revisit alongside Batch 3 share UX (design doc §5/§6.G; 2c-lite shipped the new-session picker half in #126). Priority: P3.
🤖 On behalf of @grimmerk — generated with Claude Code