[BUG] `managed-settings.json` auto-updates are disabled when they should not with `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=0`
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Using managed-settings.json and want to enforce auto updates to the stable version of Claude Code.
However, claude doctor shows disabled, even though CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC is set to 0 in managed-settings.json:
claude doctor
Diagnostics
└ Currently running: native (2.1.44)
└ Path: /Users/user/.local/share/claude/versions/2.1.44
└ Invoked: /Users/user/.local/share/claude/versions/2.1.44
└ Config install method: native
└ Search: OK (bundled)
Updates
└ Auto-updates: disabled (CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC set)
└ Auto-update channel: stable
└ Stable version: 2.1.44
└ Latest version: 2.1.59
Press Enter to continue…
This is the managed-settings.json configuration in /Library/Application Support/ClaudeCode:
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"autoUpdatesChannel": "stable",
"env": {
"DISABLE_AUTOUPDATER": 0,
"DISABLE_BUG_COMMAND": 1,
"DISABLE_ERROR_REPORTING": 1,
"DISABLE_TELEMETRY": 1,
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 0,
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": 1
}
}
...
I want to only allow autoupdates and keep other telemetry/traffic off.
I have read through https://code.claude.com/docs/en/settings and understand that CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC is the equivalent of setting DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, and DISABLE_TELEMETRY together, which is why I set it to 0 - to prevent users from setting it to 1 and disabling auto updates at at the user level.
What Should Happen?
claude doctor should show Auto-updates: enabled (or something like that), even with CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC set to 0.
If I exclude CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC from managed-settings.json, doesn't it mean users can set it and in essence set DISABLE_AUTOUPDATER to 1?
Error Messages/Logs
Steps to Reproduce
Use managed-settings.json:
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"autoUpdatesChannel": "stable",
"env": {
"DISABLE_AUTOUPDATER": 0,
"DISABLE_BUG_COMMAND": 1,
"DISABLE_ERROR_REPORTING": 1,
"DISABLE_TELEMETRY": 1,
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 0,
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": 1
}
}
Run claude doctor
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.44 (Claude Code)
Platform
Other
Operating System
macOS
Terminal/Shell
iTerm2
Additional Information
Related ticket: https://github.com/anthropics/claude-code/issues/13463
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗