What
If a checked-out project's settings, or its local settings, set CLAUDE_CONFIG_DIR to somewhere other than the directory already in use, that override is now detected and refused rather than followed. Without such an override, the usual config directory is used.
Details
- Both the shared project settings file and the untracked local one are checked.
- Comparison is on the resolved path, so a differently written path to the same directory is not treated as an override.
Evidence
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Names in the bundleCLAUDE_CONFIG_DIR
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Added since
A small documentation edit on Customize sessions in self-hosted environments touched a line naming CLAUDE_CONFIG_DIR after this was published.
| `CLAUDE_CONFIG_DIR` | Per-session Claude config directory, written at session start from the snapshot of the runner host's config that the runner captures at startup; see [Permissions and tool approval](#permissions-and-tool-approval). W…self-hosted-environments-configuration see the edit
Confirmed since
Anthropic's documentation has since written up CLAUDE_CONFIG_DIR, on Claude Code changelog.
* \[VSCode] Fixed the session list, settings toggles, and chat tabs when `CLAUDE_CONFIG_DIR` is set in a settings file or the `environmentVariables` settingchangelog see the edit
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agrees
Anthropic's documentation has since written up CLAUDE_CONFIG_DIR, on Claude Code changelog.