Allow disabling automatic updates

Status Fixed / completed
Maintainer reply ✓ Yes — bcherny
Activity 10 comments · opened Feb 26, 2025 · closed Feb 26, 2025
💡 Likely answer: A maintainer (bcherny, collaborator) responded on this thread — see the highlighted reply below.

Claude code should allow the user to disable automatic updates if they receive updates via a package manager. Currently claude code asks every time it's opened for permissions to modify the global npm directory.

View original on GitHub ↗

10 Comments

bcherny collaborator · 1 year ago

Thanks for the feedback! We'll add it to the docs.

claude config set -g autoUpdaterStatus disabled to turn off the auto-updater, though we strongly recommend keeping it on to get the latest updates (we plan to ship new versions a few times a week, and don't want you to miss out).

If you're hitting permission issues with NPM, more than happy to help debug. Have you tried running claude doctor to start?

Sirfrummel · 1 year ago

Well this definitely came in handy because I had to downgrade a Claude Code version. I mean, I appreciate the timely / fast updates, but it's really annoying when you're in the groove, get pinged with an 'Update Ready! restart now!', you do it -- get that instant dopamine hit of NEW software version -- then Claude starts behaving weirdly, like wtf? Like, for some reason the newer version couldn't run php commands in my console, but the previous version could... shrugs... it felt like the newer version was second guessing me like:

To begin with, can you read in

database/schema/mariadb-schema.sql (I squished migrations), and then read in the team pages:
resources/js/Pages/TeamManagement.vue resources/js/Pages/Projects/Team.vue this should be a good starting
point. However, let's discuss strategy before you change anything. Would be curious to hear what you recommend to
begin.

//note: I put those paths in purposely to make it easier.
In console I see:
**Searching *.php in database/migrations/
Searching "Team" in resources/js/*.vue

and I'm like "whyyy are you doing that?!"
Yep, downgrading. I'll check back in a month or so.

axelson · 1 year ago

Is there a new way to do this now?

claude config set -g autoUpdaterStatus disabled
Error: Cannot set 'autoUpdaterStatus'. Only these keys can be modified: apiKeyHelper, installMethod, autoUpdates, theme, verbose, preferredNotifChannel, shiftEnterKeyBindingInstalled, editorMode, hasUsedBackslashReturn, supervisorMode, autoCompactEnabled, diffTool, env, tipsHistory, parallelTasksCount, todoFeatureEnabled, messageIdleNotifThresholdMs

Hopefully it's claude config set -g autoUpdates disabled, but it doesn't seem like there's error checking because disabled2 doesn't show an error.

xcsnowcity · 1 year ago
Is there a new way to do this now? `` claude config set -g autoUpdaterStatus disabled Error: Cannot set 'autoUpdaterStatus'. Only these keys can be modified: apiKeyHelper, installMethod, autoUpdates, theme, verbose, preferredNotifChannel, shiftEnterKeyBindingInstalled, editorMode, hasUsedBackslashReturn, supervisorMode, autoCompactEnabled, diffTool, env, tipsHistory, parallelTasksCount, todoFeatureEnabled, messageIdleNotifThresholdMs ` Hopefully it's claude config set -g autoUpdates disabled, but it doesn't seem like there's error checking because disabled2` doesn't show an error.

claude config set -g autoUpdates disabled

autoUpdates - NOT autoUpdaterStatus.

Richard-Starrtec · 1 year ago

my auto-update say no but i'd prefer to have yes.
but when i try to run autroUpdateStatus i get the below

claude config set -g autoUpdaterStatus disabled
Error: Cannot set 'autoUpdaterStatus'. Only these keys can be modified: apiKeyHelper, installMethod, autoUpdates, theme, verbose, preferredNotifChannel, shiftEnterKeyBindingInstalled, editorMode, hasUsedBackslashReturn, supervisorMode, autoCompactEnabled, diffTool, env, tipsHistory, parallelTasksCount, todoFeatureEnabled, messageIdleNotifThresholdMs, autoConnectIde

<img width="505" height="186" alt="Image" src="https://github.com/user-attachments/assets/f97cb3a9-6250-4abb-9afe-9b6edb8747f9" />

xcsnowcity · 1 year ago
my auto-update say no but i'd prefer to have yes. but when i try to run autroUpdateStatus i get the below claude config set -g autoUpdaterStatus disabled Error: Cannot set 'autoUpdaterStatus'. Only these keys can be modified: apiKeyHelper, installMethod, autoUpdates, theme, verbose, preferredNotifChannel, shiftEnterKeyBindingInstalled, editorMode, hasUsedBackslashReturn, supervisorMode, autoCompactEnabled, diffTool, env, tipsHistory, parallelTasksCount, todoFeatureEnabled, messageIdleNotifThresholdMs, autoConnectIde <img alt="Image" width="505" height="186" src="https://private-user-images.githubusercontent.com/143364654/462727849-f97cb3a9-6250-4abb-9afe-9b6edb8747f9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTE2OTcxMDUsIm5iZiI6MTc1MTY5NjgwNSwicGF0aCI6Ii8xNDMzNjQ2NTQvNDYyNzI3ODQ5LWY5N2NiM2E5LTYyNTAtNGFiYi05YWZlLTliNmVkYjg3NDdmOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwNzA1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDcwNVQwNjI2NDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02NzI0MDE5MzExNmFhMzM1N2UyOTEyYzQ1M2E5ZThhOTY2MDBlMGZkYWE4MzRiYzNjYjIyMmU4OTU5ODEzNmJkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.C6NPFCtUPzt7l6S9Q9JF04ySLLPcs3AuhukM_42kYV0">

the keyword is 'autoUpdates', not 'autoUpdaterStatus' anymore

0xgleb · 1 year ago

i'm getting this on the version shipped in latest stable nixpkgs. do automatic updates need to work for me to be able to disable them lol?

<img width="712" height="235" alt="Image" src="https://github.com/user-attachments/assets/f9392eae-3415-4eaa-9424-1c555e95e113" />

xcsnowcity · 1 year ago
i'm getting this on the version shipped in latest stable nixpkgs. do automatic updates need to work for me to be able to disable them lol? <img alt="Image" width="712" height="235" src="https://private-user-images.githubusercontent.com/39841057/466162401-f9392eae-3415-4eaa-9424-1c555e95e113.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTI1MjM5ODUsIm5iZiI6MTc1MjUyMzY4NSwicGF0aCI6Ii8zOTg0MTA1Ny80NjYxNjI0MDEtZjkzOTJlYWUtMzQxNS00ZWFhLTk0MjQtMWM1NTVlOTVlMTEzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTA3MTQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwNzE0VDIwMDgwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTcyNDFlNzY4NjU1MTkyMzQxNzE1YmY0ZjlhNmY0ZmVkODQyMGQ1ZjFkZDdiMjRkNGM4M2U1OTNkYzljNjg5YjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.4R1slVgHy9s-Ahm-bbZD3XOThtONxvG11RiJG6csciU">

you should run
claude config set -g autoUpdates disabled

autoUpdates - NOT autoUpdaterStatus.

sneak · 1 year ago

it's amazing to me that you correctly prompt the user before claude can run commands on their system, but allow anthropic arbitrary remote code execution via an opt-out unattended update mechanism.

in my personal opinion, software that downloads random unreviewed code from the internet and executes it without asking should be considered malware. anyone who can compromise npm or the anthropic publishing credentials can run software on millions of machines within minutes.

github-actions[bot] · 1 year ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.