dual-claude-json-sync-invariant-session-user-determines-active-config
Claude Code maintains two .claude.json files: /home/claude/.claude.json (read by the claude-user session) and /root/.claude.json (read when invoked as root). MCPs registered only in /root/.claude.json are completely invisible to normal sessions — they appear listed in docs but never connect. Both files must be kept byte-for-byte identical at all times; any MCP registration, header update, or token change must be applied to both files in the same operation. Drift between them is a silent capability loss.
Related
- dual-claude-json-session-reads-home-not-root
- dual-claude-json-files-diverge-silently-session-reads-home-c
- docker
- dual-claudejson-divergence-session-reads-homeclaudeclaudejso
- graphiti
- mcp-bearer-token-must-live-in-claude-json-headers-not-url
- claude-json-dual-config-root-requires-sudo
- dual-claude-json-config-parity-required-for-root-sessions
- jq-config-mutation-leaves-tmp-files-check-after-edits
- dual-claude-json-must-stay-identical-after-mcp-changes
- claude-desktop-connector-no-static-bearer-auth
- claude-desktop-custom-connectors-require-oauth2-no-bearer
- claude-desktop-custom-connectors-require-oauth-dcr-not-beare
- secret-scanner-flags-test-passwords-without-constant-label