跳到正文
cccskills
免费在 GitHub 公开

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.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(3)

  • SKILL.md4.0 KB
  • README.md1.2 KB
  • README.ru.md1.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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.
  4. Merge archived-sessions.idx: union the archived lists of both folders, write the same file into both.
  5. Copy missing deleted_* markers in both directions, otherwise deleted sessions resurrect in the picker.
  6. Do NOT sync scheduled-tasks.json or backlog/ — each account+org pair keeps its own.
  7. Reopen the app, switch the login to the target account, verify the record count in the picker.

Script (edit FIRST/SECOND, app closed)

import os, json, shutil

SESS = os.path.expanduser("~/Library/Application Support/Claude/claude-code-sessions")
FIRST  = f"{SESS}/<account-uuid-1>/<org-uuid-1>"
SECOND = f"{SESS}/<account-uuid-2>/<org-uuid-2>"

def records(d):
    return {f: os.path.getmtime(os.path.join(d, f))
            for f in os.listdir(d) if f.startswith("local_") and f.endswith(".json")}

f_rec, s_rec = records(FIRST), records(SECOND)
for f, m in s_rec.items():
    if f not in f_rec or m > f_rec[f]:
        shutil.copy2(os.path.join(SECOND, f), os.path.join(FIRST, f))
for f, m in f_rec.items():
    if f not in s_rec or m > s_rec[f]:
        shutil.copy2(os.path.join(FIRST, f), os.path.join(SECOND, f))

arch = set()
for d in (FIRST, SECOND):
    p = os.path.join(d, "archived-sessions.idx")
    if os.path.exists(p):
        try: arch |= set(json.load(open(p)).get("archived", []))
        except Exception: pass
idx = {"v": 1, "archived": sorted(arch)}
for d in (FIRST, SECOND):
    json.dump(idx, open(os.path.join(d, "archived-sessions.idx"), "w"))

for a, b in ((FIRST, SECOND), (SECOND, FIRST)):
    for f in os.listdir(a):
        if f.startswith("deleted_") and not os.path.exists(os.path.join(b, f)):
            shutil.copy2(os.path.join(a, f), os.path.join(b, f))

Gotchas

  • Claude Code cleans old transcripts (about a month back by default): such records return to the picker but open empty. There is nothing to restore from.
  • Copies drift apart while you work on one account — rerun the sync on every switch.
  • Continuing a moved session sends its transcript to the current account (privacy note for personal-vs-work orgs).
  • There is no official cross-account migration (anthropics/claude-code#48511 closed as not planned); terminal claude --resume <id> sees all local sessions under any login.

Background write-up: https://sereja.tech/blog/claude-code-sessions-between-accounts/

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Orchestrate iterative visual style searches with branch prompts, decision graphs, feedback loops, and final direction selection.

中文简介正在准备中。当前显示原文说明。

serejaris/personal-corp-os2322026年10月21日 更新

Audits the agent rules in the current folder (AGENTS.md, nested AGENTS.md files) and the skill descriptions the agent sees at start, then reports what to cut, move or rewrite and edits only after the user says yes. Use on «аудит правил», «проверь AGENTS.md», «почему агент не слушается правил», «проверь скиллы».

中文简介正在准备中。当前显示原文说明。

serejaris/personal-corp-os2322026年10月21日 更新

avatar

免费

Робот агента Personal Corp. Агент делает себе голову робота из набора деталей, хранит её в штабе в stack/avatars.json и кладёт в штаб страницу avatar/robot.html, где робот стоит за партой своего штаба и вокруг видны отделы, без сервера и интернета. На уроке по ссылке входа с экрана урока робот входит в живой класс и горит маячком, пока агент работает. Триггеры /avatar, /avatar <ссылка входа>, сделай себе аватар, покажи своего робота, приди на урок.

中文简介正在准备中。当前显示原文说明。

serejaris/personal-corp-os2322026年10月21日 更新

benchmark

免费

Use when choosing between engines or models for an agent pipeline and the answer must come from measurement on your own data, not from marketing pages: speech recognition for meeting recordings, the model that turns a transcript into notes, the critic model that checks it. Runs every variant in an isolated container, measures time, cost per hour of input (USD and RUB, with price source and date) and quality (WER/CER and course terms for ASR; code checks plus a judge of a different model for LLM steps), writes results.json/csv and one static analytics page. Triggers on "бенчмарк", "сравни движки", "сколько стоит час записи", "какую модель взять для пайплайна", "benchmark the pipeline", "compare ASR engines".

中文简介正在准备中。当前显示原文说明。

serejaris/personal-corp-os2322026年10月21日 更新

Use when user asks for Claude Code usage stats, weekly analytics, project activity summary, or wants to see what projects were worked on. Triggers on "аналитика", "статистика claude", "cc stats", "weekly report", "что делал"

中文简介正在准备中。当前显示原文说明。

serejaris/personal-corp-os2322026年10月21日 更新

Use when needing strategic project analysis from multiple independent expert perspectives. Triggers on business decisions, growth strategy, product direction, competitive analysis, or any situation where diverse C-level opinions reduce blind spots

中文简介正在准备中。当前显示原文说明。

serejaris/personal-corp-os2322026年10月21日 更新

查看 serejaris 的全部技能

报告此技能的问题