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:

  1. Stale version: The CLI continues running the old version even after updating
  2. 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

  1. Set CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
  2. Have an older version symlinked (e.g., 2.1.2) with its lock file present
  3. Run claude update (downloads 2.1.7)
  4. Run claude --version → still shows 2.1.2
  5. 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

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗