[Feature Request] Account-level settings sync across devices
Problem
Claude Code settings are stored locally in ~/.claude/ with no way to sync across devices. Users with multiple machines (e.g., Linux desktop + MacBook) must manually maintain separate configurations.
This has been requested multiple times (see #6037, #19634, #13461, #12119) but no official response from Anthropic yet.
Requested Feature
Sync the following via authenticated Anthropic account:
| What | Path | Why |
|------|------|-----|
| Global instructions | ~/.claude/CLAUDE.md | Core user preferences |
| Rules | ~/.claude/rules/ | Persistent learnings |
| Commands/Skills | ~/.claude/commands/ | Custom slash commands |
| Settings | ~/.claude/settings.json | User preferences |
| Keybindings | ~/.claude/keybindings.json | Custom shortcuts |
Why Account-Level Sync?
- Already authenticated - Users already log in with Anthropic account
- Precedent exists - VS Code Settings Sync works exactly this way
- Cross-platform - Paths differ between OS (
/home/vs/Users/), cloud sync abstracts this - High demand - Multiple duplicate issues show community wants this
Proposed UX
# Enable sync (one-time)
claude config set sync.enabled true
# Manual sync commands
claude sync push # Upload local to cloud
claude sync pull # Download cloud to local
claude sync status # Show sync state
Or automatic background sync when authenticated.
Current Workarounds
Users currently resort to:
- Dropbox/iCloud + symlinks (breaks with absolute paths)
- Manual copy between machines
- Maintaining separate configs (defeats the purpose of persistent learnings)
Related Issues
- #6037 - Account settings layer (closed by autoclose, not rejection)
- #19634 - Account-level CLAUDE.md (duplicate)
- #13461 - Account-level slash commands (duplicate)
- #12119 - Skill sync CLI/Web (duplicate)
- #17682 - Cross-environment history sync (open)
23 Comments
Agree.
I sync my config across devices using a private git repo that symlinks into
~/.claude/. It covers CLAUDE.md, settings.json, commands, and skills.
An install.sh script sets up the symlinks and configures two hooks:
file
Works well for me but it's a lot of plumbing for what should be a built-in feature - would love native account-level sync.
I came here to make this feature request.
Also desperately looking for this to be solved. I run across desktop, Claude.ai (using Claude code) and then iOS.
Just to confirm I’ve embarked on something similar to this now as it’s an issue that shouldn’t need a workaround but absolutely does.
+1 on this. Filed #29644 separately for MCP server sync specifically — closing it in favor of this broader issue since MCP sync is a subset of account-level settings sync.
The key pain point from my side: I have MCP servers configured in
~/.claude.json(Claude Code CLI) and~/Library/Application Support/Claude/claude_desktop_config.json(Claude Desktop) separately, and claude.ai (browser) has its own UI config. There's no way to maintain a single source of truth across all three products, let alone across multiple machines.How are you doing claude.ai (browser) config? I’m doing this weird mashup between config in my “personal preferences” and then I’ve also set up a project which has my CLAUDE.md content in its instructions and then the project files are also then backed by my GitHub repo as knowledge files (the ones that contain shared skills etc).
Then… in the “Code” section of the web app I’ve also configured my environment to do a git clone of my repo.
While waiting for official support, I built a lightweight workaround: claude-code-backup
It's a single Claude Code slash command (
/backup) that:~/.claude/config (settings, CLAUDE.md, agents, commands, skills, memory, plugins, credentials).tar.gzInstall:
Then just run
/backupin any Claude Code session.It's AI-driven (not a static script), so it adapts to config changes — new MCP servers, new env vars, new credential formats are detected dynamically each time.
Not a replacement for proper account-level sync, but useful for migration and disaster recovery in the meantime.
Hey all — I've been dealing with exactly this problem. I work across a Linux desktop and a MacBook, and keeping my Claude Code config, skills, memory, and agents in sync was a constant pain.
While waiting for an official solution from Anthropic, I built claude-brain to bridge the gap. It syncs your entire Claude Code brain state — CLAUDE.md, settings, skills, agents, rules, and auto-memory — across machines via Git. The key difference from just copying files is it does intelligent semantic merging (so accumulated memory from different machines gets deduplicated rather than clobbered).
Setup is just
/brain-init <your-git-remote>on the first machine and/brain-joinon others. It auto-syncs via hooks on session start/end, so there's zero daily effort.Obviously I'd love for Anthropic to build this natively, but until then this has been working well for me. Happy to answer any questions!
Very interesting thanks, I am also doing something similar but I think you've got awesome functionality I may try and integrate into mine https://github.com/thomashillman/ai-config-os
Really cool project! I love the skill dependency system and the multi-model variants with automatic selection - that's brilliant for adapting to different contexts. The testing framework and performance monitoring are exactly the kind of features that make tools production-ready.
I think there's definitely potential for collaboration here! Claude-brain's merge logic could help with cross-machine skill synchronization, and your skill composition workflows would be a great addition to the brain's capabilities. Would be happy to explore how we could integrate these approaches - maybe start with a shared standard for skill metadata?
That sounds fantastic! I hadn’t planned to make this public for a while so some parts are a bit rough around the edges. The motivation behind this project was to avoid siloing my skills and plugins within a single company’s ecosystem.
Similarly, as I develop my “toolbox” I want it to be accessible on any device and compatible with any vendor (provided they use skills or plugins).
I also wanted to eliminate the hassle of cross-vendor updates. For example, if I make changes to a skill and use it in Claude, I don’t want to have to remember to update it in Codex the next time I work there.
The main challenge I’m facing right now is the lack of feature parity across platforms. For instance, Claude Desktop differs from Claude web and then again from Claude iOS. I simply want to be able to use my skills across all platforms in the same way.
@thomashillman that's exactly the right problem to solve — nobody wants to maintain the same skill in three different places just because they switch between Claude, Codex, and Cursor throughout the day.
The vendor lock-in angle is really interesting. claude-brain currently focuses on Claude Code specifically, but the core sync/merge logic is pretty tool-agnostic. If we could agree on a shared skill metadata format, it'd be way easier to build adapters for each platform.
Happy to open a discussion thread on claude-brain to start sketching out what a cross-vendor skill spec might look like — things like how to declare dependencies, platform compatibility, config mappings, etc. Would that work for you?
Been dealing with this for a while. I work on two machines and got tired of manually keeping configs in sync.
I ended up building something for it. It's git-backed — you push your config from one machine and pull on the other. The trick is it auto-detects per-hostname MCP paths (since binary locations differ between machines), and keeps secrets in a gitignored
.env.localwhile templates stay tracked.Here is the tool, hope it helps: https://github.com/bytemines/mycelium
!Image
Awesome thank you! I'll check it out. So when you update config on one device, does the config get pushed to an always available source e.g. Github cloud which all the other devices / systems then pull from? Or are you relying on one local machine to be always on which all the other devices / systems sync against?
@bytemines - I think what you've got there is really interesting and complimentary with my ai-config-os.
To me, Mycelium looks like a desired-state tool manager for Claude Code's local config, a bit like what Ansible does for system packages? You say what tools you want, Mycelium reconciles the live environment against that declaration, and then exposes the whole thing as both a CLI and an MCP surface.
Ai-config-os is solving problems in a different layer: what the skills contain and how they're authored, versioned, and distributed. Whereas, Mycelium solves the problem of what gets installed and activated in a running Claude Code instance. So if Ai-config-os is the package registry, then Mycelium is the package manager.
@bcherny - apologies for the pure hubris of copying you in, but you must come up against this yourself? How is this being managed within Anthropic / the Claude Code team?
Would love to know if this is on the roadmap!
also came here to make the same feature request see it's here already! currently have my own dotfiles repo with symlinks as other have done already...
Same here, !
We need synch (Skills, Memory, Agents, etc) between Claude Code CLI <<<< >>>> Claude Desktop (Cowork and Code include) please ! 🙏
+1
+1
+1 from an IT admin at a Swedish real estate company. I rotate between 3–4 work machines (mixed macOS/Windows) for support tasks and development. No "always-on" central machine in our setup, so Remote Control doesn't fit. Sessions, project memory, and CLAUDE.md should follow the Anthropic account — this is table stakes in 2026 for any professional tool.
For context, I've got this working on Windows and run it for my own Claude Code config day to day, so here's what the DIY path actually looks like today: a private git repo of
~/.claude, allowlisted down to portable config only (settings, agents, skills, hooks, CLAUDE.md), with a Windows Scheduled Task that auto-commits and pushes whenever something changes. Lost-laptop recovery and fresh-machine restore both work.Two Windows-specific gotchas I hit that I think matter for a native solution:
git pushhangs from non-interactive contexts. Driven by a Scheduled Task (or a hook viapowershell.exe), git falls back to Git Credential Manager, which blocks on an interactive prompt that can't render — so it stalls forever instead of failing. Credentialsghcaches in one context aren't visible to git in another. Fix:gh auth setup-git(git uses gh's token) +GIT_TERMINAL_PROMPT=0(fail fast). Native sync ideally wouldn't depend on the user's git credential setup at all.~/.claudeclobbers per-machine/live state —projects/,history.jsonl, and especially~/.claude.json(per-device OAuth + MCP).~/.claude.jsonand.credentials.jsonshould never sync; re-auth per device. An allowlist beats a denylist so credential/cache files added by future updates don't leak in by default.Happy to share specifics. Native account-level sync — even just portable config, minus secrets — would remove a lot of fragile per-OS plumbing.