[Bug] install.sh does not update symlink when reinstalling a specific version

Resolved 💬 1 comment Opened Feb 12, 2026 by jykim256 Closed Feb 12, 2026

Description

When running curl -fsSL https://claude.ai/install.sh | bash -s <version> to install a specific version, the script downloads the new binary but fails to update the symlink, leaving the user on the old version.

Steps to Reproduce

  1. Have Claude Code 2.1.29 installed via native installer
  2. Run: curl -fsSL https://claude.ai/install.sh | bash -s 2.1.39
  3. Installer reports success: "Version: 2.1.39"
  4. Run claude --version

Observed Behavior

$ claude --version
2.1.29 (Claude Code)

$ ls -la ~/.local/bin/claude
lrwxr-xr-x  1 user  staff  53 Feb 11 20:01 /Users/user/.local/bin/claude -> /Users/user/.local/share/claude/versions/2.1.29

$ ls -la ~/.local/share/claude/versions/
-rwxr-xr-x  1 user  staff  179283440 Feb 11 20:01 2.1.29
-rwxr-xr-x  1 user  staff  182876336 Feb 11 20:00 2.1.39  ← downloaded but not linked

The new version is downloaded to ~/.local/share/claude/versions/2.1.39 but the symlink at ~/.local/bin/claude still points to the old version.

Expected Behavior

The symlink should be updated to point to the newly installed version:

~/.local/bin/claude -> ~/.local/share/claude/versions/2.1.39

Workaround

Manually update the symlink:

rm ~/.local/bin/claude
ln -s ~/.local/share/claude/versions/2.1.39 ~/.local/bin/claude

Environment

  • Platform: macOS (Darwin 25.0.0)
  • Architecture: arm64
  • Shell: zsh
  • Installation method: Native installer (curl | bash)

Related Issues

  • #14100 - Similar symlink issues with concurrent instances
  • #24241 - Binary path resolution issues

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗