[Bug] False "Multiple installations found" warning with fnm (Fast Node Manager) multishell shims

Resolved 💬 1 comment Opened Apr 9, 2026 by JackChen-me Closed May 25, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report
  • [x] I am using the latest version of Claude Code

What's Wrong?

The updater reports "Multiple installations found" when Claude Code is installed via npm global under fnm. Only one installation exists - the updater misidentifies fnm's multishell shim as a separate "native" installation.

Warning: Multiple installations found
- npm-global at /Users/jack/.local/share/fnm/node-versions/v22.12.0/installation/bin/claude
- native at /Users/jack/.local/bin/claude

Warning: Configuration mismatch
Config expects: global installation
Currently running: unknown

fnm creates per-shell shim directories at ~/.local/state/fnm_multishells/{pid}_{ts}/bin/ that symlink back to the real npm global binary. The updater sees these paths and concludes there are multiple installations.

Actual state:

  • which -a claude returns fnm multishell shims (e.g. ~/.local/state/fnm_multishells/65651_1775745957134/bin/claude)
  • All resolve to the same npm global install at ~/.local/share/fnm/node-versions/v22.12.0/installation/bin/claude
  • No native installation exists at ~/.local/bin/claude

What Should Happen?

The updater should resolve symlinks before comparing installation paths, or recognize fnm multishell directories as shims rather than standalone installations.

Steps to Reproduce

  1. Install fnm
  2. Install Claude Code via npm install -g @anthropic-ai/claude-code
  3. Run claude update or wait for auto-update prompt

Claude Code Version

2.1.89 → 2.1.97 (warning appeared during this update)

Platform

Anthropic API (Max subscription)

Operating System

macOS (Darwin 25.2.0)

Terminal/Shell

zsh

Additional Information

Related issues: #35520, #9666, #35642 - same symptom (false positive "Multiple installations found") but different root causes. This one is specific to fnm's multishell PATH management.

View original on GitHub ↗

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