install.sh reports shell integration success but never adds ~/.local/bin to PATH (zsh/macOS)
Environment
- Platform: Anthropic API (claude.ai account)
- Claude CLI version: 2.1.205 (native build)
- Operating System: macOS 26.5.1 (build 25F80), Apple Silicon (arm64)
- Shell: zsh (
/bin/zsh, default macOS login shell) - Terminal: Terminal.app
Bug Description
install.sh (and the binary's own claude install subcommand it delegates to) prints Setting up launcher and shell integration... and reports success, but never actually adds ~/.local/bin to PATH in any shell startup file. The binary is installed correctly and runs fine via its full path, but claude is not found in a normal new terminal session.
Confirmed by inspecting ~/.zshrc, ~/.zprofile, and ~/.zshenv before and after installation — none are modified. Also checked common zsh completion directories (e.g. /opt/homebrew/share/zsh/site-functions) — nothing is written there either. Reproduced this twice, including on a fresh reinstall after fully removing ~/.local/bin/claude and ~/.local/share/claude.
Steps to Reproduce
- On a stock macOS zsh setup with no prior
~/.local/binPATH entry, run:
````
curl -fsSL https://claude.ai/install.sh | bash
- Installer reports:
````
Setting up launcher and shell integration...
✔ Claude Code successfully installed!
Version: 2.1.205
Location: ~/.local/bin/claude
- Open a new Terminal window/tab (or
env -i HOME="$HOME" /bin/zsh -li -c 'command -v claude') claude: command not found
Expected Behavior
Either:
- The installer actually appends a
PATHexport for~/.local/binto the appropriate shell rc file (~/.zshrcfor zsh), or - If it intentionally skips this step for some reason, it should say so explicitly instead of claiming "shell integration" succeeded.
Actual Behavior
Installer unconditionally reports shell integration success; PATH is left unconfigured and claude is unreachable from a normal terminal session until the user manually edits their rc file.
Workaround
Manually add to ~/.zshrc:
export PATH="$HOME/.local/bin:$PATH"