claude memory sync
overview
claude code builds up project memory over time — preferences, context, and patterns stored in .claude/memory/. since each atlas workspace is an isolated git worktree, this memory doesn’t automatically carry between workspaces. without memory sync, every new workspace starts with a blank slate and any knowledge claude accumulated is lost when the workspace is archived.
atlas solves this by automatically syncing claude’s memory through the central repo clone.
how it works
atlas uses your central repo clone (~/.atlas/repos/{repo}/) as a hub for accumulating and redistributing claude’s project memory.
when you create a workspace:
- atlas copies
.claude/memory/from the central repo into the new worktree - your new workspace starts with all the knowledge claude has built up from previous workspaces
when you archive a workspace:
- atlas merges
.claude/memory/from the worktree back into the central repo - any new memories claude created during the workspace session are preserved for future workspaces
what gets synced
only .claude/memory/ is synced — the auto-generated, gitignored directory where claude stores its project knowledge.
files like CLAUDE.md, .claude/skills/, and .claude/commands/ are not synced by this feature. those are typically committed to your repo and travel with the branch via git, so they’re already available in every worktree automatically.
merge strategy
the merge uses an additive approach:
- new files are copied over
- existing files are updated only if the source has a newer modification time
- nothing is ever deleted — knowledge accumulates across workspaces
this means if workspace A creates one memory and workspace B creates another, archiving both results in the central repo having both memories. the next workspace you create inherits everything.
no configuration needed
memory sync is always on. if no .claude/memory/ directory exists, the operations are no-ops — there’s nothing to configure or enable.