[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
- Have Claude Code 2.1.29 installed via native installer
- Run:
curl -fsSL https://claude.ai/install.sh | bash -s 2.1.39 - Installer reports success: "Version: 2.1.39"
- 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
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗