{"slug": "show-hn-ccgs-collaborative-claude-code-sessions-stored-in-git-branches", "title": "Show HN: Ccgs – Collaborative Claude Code sessions, stored in Git branches", "summary": "A new open-source tool called ccgs (Claude Code Git Sessions) enables developers to share Claude Code sessions across machines by storing them in Git branches within existing repositories. The tool rewrites session file paths to match the user's working directory upon pull, and operates entirely through Git plumbing without affecting the working tree or current branch. Users are warned that Claude Code sessions may contain sensitive information and should not be used on public repositories.", "body_md": "My team uses Claude Code daily, and the sessions have become some of the most useful artifacts we produce. But they're trapped in ~/.claude/projects/ on whichever laptop they happened on. There's no good way to hand a colleague \"the session where I untangled the migration\" so they can claude --resume it and keep going from where I left off. Enter ccgs: Share Claude Code sessions through an orphan branch (@ccgs/) in your existing repo's remote\n\n- Session files carry the author's absolute paths. On pull, ccgs rewrites the working dir back to your path so resume actually works — surgically editing only the structural cwd field, not a blind find-and-replace that would happily corrupt the transcript.\n\n- Everything goes through git plumbing (hash-object/commit-tree/update-ref) against a throwaway index. It never touches your working tree, index, or current branch, and it's fine with a dirty tree. It will not git checkout something behind your back.\n\nTo try it without installing: `npx claude-git-sessions`. This also incidentally allows you to move a directory and carry the claude code transcripts with it (just push first, then move the directory, then pull)\n\nIMPORTANT CAVEAT: Unless you have a very good security hygiene, your Claude Code sessions are likely full of sensitive information such as environment secrets. By . Use with caution and avoid using on public repositories. Branches used by ccgs are prefixed by `@ccgs/` so you can easily filter them out.\n\n*This project was written by and with Claude Code. This Show HN was not.*\n\n(Reposted with URL fixed)\n\nComments URL: [https://news.ycombinator.com/item?id=48426297](https://news.ycombinator.com/item?id=48426297)\n\nPoints: 1\n\n# Comments: 0", "url": "https://wpnews.pro/news/show-hn-ccgs-collaborative-claude-code-sessions-stored-in-git-branches", "canonical_source": "https://github.com/ingram-technologies/claude-git-sessions", "published_at": "2026-06-06 16:04:45+00:00", "updated_at": "2026-06-06 16:18:31.750721+00:00", "lang": "en", "topics": ["ai-tools", "ai-products", "ai-agents", "mlops"], "entities": ["Claude Code", "ccgs", "Claude"], "alternates": {"html": "https://wpnews.pro/news/show-hn-ccgs-collaborative-claude-code-sessions-stored-in-git-branches", "markdown": "https://wpnews.pro/news/show-hn-ccgs-collaborative-claude-code-sessions-stored-in-git-branches.md", "text": "https://wpnews.pro/news/show-hn-ccgs-collaborative-claude-code-sessions-stored-in-git-branches.txt", "jsonld": "https://wpnews.pro/news/show-hn-ccgs-collaborative-claude-code-sessions-stored-in-git-branches.jsonld"}}