
Putting Claude Code Under Version Control: Configs Since July, Memory Since April
<p>When you let an AI agent share your machine for a year, you eventually hit a question you can't answer: <em>why</em> does my setup look like this?</p> <p>Not "what does it look like" — that's just <code>cat</code>. The <em>why</em>. Which con
Sascha Rahn Posted on May 25 • Originally published at heysash.com Putting Claude Code Under Version Control: Configs Since July, Memory Since April # claudecode # devtools # git # ai When you let an AI agent share your machine for a year, you eventually hit a question you can't answer: why does my setup look like this? Not "what does it look like" — that's just cat . The why . Which config landed when, which edit was the agent's own work versus mine, which assumption got baked in three commits ago and is now invisible. If you've used Claude Code long enough to have an evolved settings file, a memory store, and a handful of skills installed, you already recognize the feeling. I've been versioning Claude Code's configuration files since July 2025. Memory joined the repository in April 2026. The setup is mundane — a private git repo and a handful of symlinks — but the effects compound, and most of them I didn't anticipate when I started. A small but important clarification Claude Code doesn't edit its own configs autonomously. It only edits them when you ask it to, or when you've set up a workflow that includes "persist this to settings." That distinction matters for everything below: the audit trail is valuable not because the agent goes rogue, but because the agent does what you asked — and a week later, you no longer remember exactly what you asked for. It also matters because Claude Code's settings live at different scopes. The global ~/.claude/settings.json is the one I've seen the agent touch most. User-scoped and project-scoped overrides have been more cautious in my experience. Memory is its own thing again, scoped per project working directory. The mechanism Claude Code writes its state to predictable paths: Global settings: ~/.claude/settings.json Project-scoped memory: ~/.claude/projects/<encoded-cwd>/memory/ Skills, hooks, MCP configs: various ~/.claude/... subfolders <encoded-cwd> is deterministic — your working directory with slashes rep
📰Originally published at dev.to
Staff Writer
Related Articles
Meal planning stresses me out, so I let Claude handle it instead
May 25, 2026·2 min read
Copilot is getting a sidebar treatment for Windows 11, just like Gemini in Chrome
May 25, 2026·2 min read
HP’s new ZBook workstations are bringing AI chips, Blackwell GPUs, and eye-watering prices
May 25, 2026·2 min read