Claude-Sync: One Claude Brain Across All Your Devices

I work on a MacBook, a Mac Studio, and sometimes SSH into servers. Claude forgot everything every time I switched. Not anymore.

I have a MacBook that travels with me. A Mac Studio at home for heavy compute. An IONOS VPS running production services. And I use Claude Code on all of them.

The problem? Every time I switched devices, Claude had amnesia. All the project context, all the preferences I'd established, all the patterns it had learned — gone. I'd sit down at the Mac Studio and have to re-explain everything I'd done on the MacBook that morning.

Claude Code stores its memory in ~/.claude/. Skills, settings, rules, project memory — it's all local files. Great for privacy. Terrible for multi-device workflows.

// the obvious solution that isn't obvious

"Just use Dropbox" — sure, for the files. But what about conflicts? If I edit a memory file on two devices, Dropbox creates a conflict copy and you lose data. What about settings that should be device-specific? What about activity logs that need chronological merging, not overwriting?

claude-sync handles all of this with smart conflict resolution:

// conflict resolution strategy
memory files (MEMORY.md)intelligent merge
settings.jsonlatest-wins
activity logschronological merge
rules & skillsunion merge
project-specific filesconfigurable

// five sync backends

Not everyone uses the same infrastructure. claude-sync supports five backends:

  • Git (recommended) — version history in a private repo, full diff capability
  • Cloud storage — auto-detects iCloud, Dropbox, OneDrive
  • Syncthing — peer-to-peer, no cloud required
  • rsync/SSH — direct machine-to-machine for servers
  • Custom — bring your own sync command

I use Git with a private Gitea repo. Every sync is a commit. I can see exactly what changed, when, and on which device. If something goes wrong, I can roll back.

// auto-sync and device registry

claude-sync hooks into session start and end. When you open Claude Code, it pulls the latest state. When you close it, it pushes. No manual intervention. A device registry shows all connected machines and their last sync timestamp.

Optional encryption with age keeps your memory files encrypted at rest in the sync target. Because your Claude memory probably contains things like server configurations and project secrets that shouldn't sit unencrypted in a Git repo.

// pairs with claude-cortex

claude-sync is the transport layer. claude-cortex is the memory structure. Together, they give Claude Code a persistent, structured, multi-device brain. Cortex defines what to remember. Sync makes sure it's everywhere.

npm install -g claude-syncGitHub