Model memory and conversation state as a shared Git-style repository, with all surfaces as clients
Summary
Today Claude Code, claude.ai (web), and the desktop/mobile apps have fragmented memory and conversation state. Web and app share history; Code is walled off. The common feature requests ask for point-to-point syncing between specific surfaces. This proposes a single underlying primitive instead: treat memory and conversation state as a version-controlled repository that every surface is a client of.
The core idea
Rather than building pairwise bridges between surfaces, store memory and conversation state in a Git-style repo. Each surface — Code, web, desktop, mobile — is a client that commits to and pulls from that shared store. Sync stops being a feature you build per-surface-pair and becomes an inherent property of every client reading the same repo.
Why a repo, specifically
Memory has the same hard problems source code does, and Git already solved all of them:
- Concurrent writers — merge semantics let two surfaces write without clobbering each other.
- Trust in what's current — one canonical store, not N drifting copies.
- History and rollback — see when a memory changed; revert a bad or stale one.
- Branches — separate a work memory from a personal one, or explore without committing to the main line.
- Attribution — every commit knows its author.
This one primitive solves two problems at once
- Cross-surface continuity. Code commits distilled session context; the browser pulls it at startup. No manual paste.
- Multi-user collaboration in a single chat. Two or more people in one conversation are just multiple clients committing to the same branch. Attribution is baked in, so the model distinguishes each participant instead of merging them into one voice. Branches let collaborators explore divergent directions off shared context, then merge the thread worth keeping.
Cross-surface sync and multi-person chat are not two features under this model — they are the same feature: more than one client committing to a shared repo. Solve it once, get both.
Prior art
The collaboration model is Git itself — twenty years of battle-tested merge, branch, blame, and pull-request workflows. Nothing new needs inventing; it needs pointing at conversations and memory instead of files.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗