~/.claude/

The ~/.claude folder, explained

Claude Code keeps everything it knows about you in a hidden folder and one file next to it. This is a map of what's in there, what each part does, and which ones are safe to edit.

Two places: a folder and a file

Claude Code keeps your user-level data in ~/.claude/ and its app state in a single file next to it, ~/.claude.json. Each project can also have its own .claude/ folder and a .mcp.json. Set CLAUDE_CONFIG_DIR and Claude Code uses that folder instead of ~/.claude/. Anthropic's .claude directory reference documents each file in depth; this page is the map.

What's in ~/.claude/

PathWhat it holdsSafe to edit?Shown in
settings.jsonYour settings: permissions, hooks, model, environment variables, statusline.YesSettings, Hooks
CLAUDE.mdInstructions loaded in every session, in every project.Yes—
projects/<project>/*.jsonlSession transcripts, one folder per working directory. Deleted after cleanupPeriodDays (30 by default).Read onlySessions, Usage
projects/<project>/memory/Auto memory: Claude's own notes per project, indexed by MEMORY.md.Yes, carefullyMemory
history.jsonlEvery prompt you've typed, with its project.Read onlyPrompts
file-history/<session>/Copies of files saved before Claude edited them, used by /rewind.Read onlyCheckpoints
skills/, commands/Your skills and custom slash commands.YesSkills, Commands
agents/Your subagent definitions.YesAgents
plugins/Installed plugins, cloned marketplaces and the install record.Use /pluginPlugins
sessions/State for sessions that are running now.NoSessions (live status)
stats-cache.jsonCached usage statistics.NoUsage
.credentials.jsonYour login on Linux and Windows (macOS uses the Keychain).No — use /loginAccounts
keybindings.json, themes/Custom shortcuts and colour themes.Yes—

What's in ~/.claude.json

App state rather than settings: your signed-in account, UI toggles, MCP servers you added at user or local scope, and per-project state such as which MCP servers you've switched off. Claude Code rewrites it often, so close Claude Code before editing it by hand.

A project's own files

PathWhat it holdsCommit it?
CLAUDE.mdProject instructions.Yes
.claude/settings.jsonShared project settings.Yes
.claude/settings.local.jsonYour personal overrides for the project.No
.mcp.jsonMCP servers shared with the team.Yes
.claude/skills/, commands/, agents/Project skills, commands and subagents.Yes

Which settings file wins

From highest to lowest: managed settings set by your organisation, command-line --settings, .claude/settings.local.json, .claude/settings.json, then ~/.claude/settings.json. A value set higher up overrides the same key lower down. (Anthropic: settings)

Back it up or move it

Copying ~/.claude/ and ~/.claude.json moves your whole setup, transcripts included — but not a macOS Keychain login. Claude Code Manager's Export Brain packs the parts you write yourself (CLAUDE.md, settings, skills, commands, agents, memory, user-level MCP servers) into one zip, and Import Brain shows conflicts before writing. See settings.

FAQ

Questions, answered

What's the difference between ~/.claude.json and ~/.claude/settings.json?

~/.claude/settings.json is your settings file (permissions, hooks, model, statusline). ~/.claude.json holds app state: your login identity, MCP servers at user and local scope, and per-project state.

Can I change where Claude Code keeps its files?

Yes: set CLAUDE_CONFIG_DIR to another folder before starting claude. Claude Code Manager reads the same variable.

Free, open source, and it stays on your machine.

Apache-2.0. No telemetry, no account, no network client. Works with the Claude Code CLI and the official extension.

code --install-extension vishalguptax.claude-manager