Preflight Checklist
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: #13463
Preflight Checklist
What's Wrong?
Using
managed-settings.jsonand want to enforce auto updates to the stable version of Claude Code.However,
claude doctorshows disabled, even thoughCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICis set to0inmanaged-settings.json:This is the
managed-settings.jsonconfiguration in/Library/Application Support/ClaudeCode: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_TRAFFICis the equivalent of settingDISABLE_AUTOUPDATER,DISABLE_BUG_COMMAND,DISABLE_ERROR_REPORTING, andDISABLE_TELEMETRYtogether, 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 doctorshould showAuto-updates: enabled(or something like that), even withCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICset to0.If I exclude
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICfrommanaged-settings.json, doesn't it mean users can set it and in essence setDISABLE_AUTOUPDATERto1?Error Messages/Logs
Steps to Reproduce
Use
managed-settings.json:Run
claude doctorClaude 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: #13463