autoUpdates: false in ~/.claude.json is ignored on native installs; updated twice in two days, once mid-session
What happened
~/.claude.json has autoUpdates: false, and the native installer updated anyway — twice in two days, without being asked.
~/.claude/.last-update-result.json after the most recent one:
{
"timestamp": "2026-09-02T22:39:41.511Z",
"path": "native",
"outcome": "success",
"status": "success",
"version_from": "2.1.258",
"version_to": "2.1.259",
"error_code": null
}
The version directory corroborates that this is recurring, not a one-off:
~/.local/share/claude/versions/
2.1.257 Sep 1 11:16
2.1.258 Sep 1 15:35
2.1.259 Sep 2 15:34
~/.local/bin/claude was repointed to 2.1.259 at Sep 2 15:39 — mid-session.
Relevant config
From ~/.claude.json:
installMethod = 'native'
autoUpdates = False
autoUpdatesProtectedForNative = True
settings.json env block contains only CLAUDE_AFK_TIMEOUT_MS; no updater-related environment variable is set.
I don't know the intended semantics of autoUpdatesProtectedForNative — it may be deliberately overriding autoUpdates for native installs. If so, that is the bug from a user's point of view: autoUpdates: false is the documented, discoverable opt-out, and it silently does nothing on a native install.
Expected
Either:
autoUpdates: falsesuppresses native auto-updates, or- It is documented that it does not apply to native installs, and the setting surfaces that — rather than sitting in the config reading as though it is in effect.
Actual
autoUpdates: false is present and ignored. The install moved 2.1.257 → 2.1.258 → 2.1.259 across two days with no prompt, including one update partway through an active session.
Why it matters
On a version-sensitive setup this removes the ability to pin. It also makes "did this behaviour change because the build changed under me?" hard to answer during a debugging session — the binary moved mid-session here, which materially complicated diagnosing an unrelated problem.
Environment
- Claude Code 2.1.259 (from 2.1.258, from 2.1.257)
- Install method:
native - macOS (Darwin 25.5.0)