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.