Manual update doesn't fix symlink when CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC is set
Resolved 💬 2 comments Opened Jan 14, 2026 by ramonclaudio Closed Jan 14, 2026
Description
When CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC is set, running claude update manually downloads new versions but doesn't update the symlink at ~/.local/bin/claude. This causes two issues:
- Stale version: The CLI continues running the old version even after updating
- Downgrade on update: If you're running a newer version (e.g., via direct invocation) and run
claude update, the stale symlink + old lock files can actually downgrade you to the older version
Steps to Reproduce
- Set
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 - Have an older version symlinked (e.g., 2.1.2) with its lock file present
- Run
claude update(downloads 2.1.7) - Run
claude --version→ still shows 2.1.2 - Or: manually run 2.1.7, then run
claude update→ get downgraded to 2.1.2
Expected Behavior
Manual claude update should update the symlink regardless of the CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC setting. The env var should only disable automatic update checks, not break manual updates or cause downgrades.
Workaround
Manually fix the symlink:
ln -sf ~/.local/share/claude/versions/2.1.7 ~/.local/bin/claude
Environment
- macOS Tahoe 26.2
- Claude Code 2.1.7 (downloaded but not symlinked)
- Shell: zsh
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗