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

Read pinned source

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.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
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.
Back to top