Individual skill
claude-sessions-sync
Sync Claude Code session records between two Anthropic accounts in the Claude desktop app on macOS. Use when switching accounts (for example when one hits usage limits) and old sessions disappear from the picker, or to mirror records before/after a switch.
skills/claude-sessions-sync/SKILL.md
Source commit 6f3983e45b13fcce8ebe1c4523983beb6174326e
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 6, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 244
- Repository last updated
- Nov 3, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- claude-code Repository topic
- skills Repository topic
- agentic-workflows Repository topic
- ai-agents Repository topic
- claude-code-skills Repository topic
- open-source Repository topic
- product-ops Repository topic
- personal-corp Repository topic
- agent-skills Repository topic
- codex Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Read excerpt
# Claude sessions sync (between desktop-app accounts)
How it works (verified 2026-10-01…07, Claude Code 2.1.286, macOS):
- Session records live in `~/Library/Application Support/Claude/claude-code-sessions/<accountUuid>/<orgUuid>/local_*.json`. The second path level is the **organization** UUID; the app lists only the current account+org pair, which is why switching accounts hides the other side's sessions.
- Transcripts live in `~/.claude/projects/` and are shared across all accounts — never touch them. A record points at its transcript through the `cliSessionId` field.
- Active account: `~/Library/Application Support/Claude/config.json` → `lastKnownAccountUuid`. The active org folder is the one holding the freshest record (mtime).
- Account switches may leave empty race folders `<old-account>/<new-org>` — ignore them.
## Procedure
1. The app must be fully closed: `pgrep -f "/Applications/Claude.app/Contents/MacOS"` is empty; otherwise `osascript -e 'quit app "Claude"'` and wait. Copying while the app is alive can be rolled back by its in-memory list cache (`LSS-cached-sessions`) and record rewrites.
2. Identify both working folders: under each account UUID take the subfolder with the most `local_*.json` records (or the freshest one).
3. Run a bidirectional newest-wins sync of `local_*.json` — the script below. A one-way copy leaves drift: sessions you continued on one side go stale on the other.