[BUG] Multiple installation conflicts still occurring (v2.0.26) - npm-local + native binary

Resolved 💬 3 comments Opened Oct 24, 2025 by memorymuse Closed Oct 29, 2025

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?

Multiple installation conflicts between npm-local and native binary installations persist in v2.0.26, despite #7734 being closed on 9/24/2025 with the note "This should be resolved in the next release".

Symptoms:

  • claude command fails with "No such file or directory"
  • Diagnostics show "Multiple installations found" warnings
  • Config file (~/.claude.json) reverts to "installMethod": "local" after restarts
  • Shell wrappers/aliases continue pointing to deleted npm-local paths

What Should Happen?

After removing npm-local installation and switching to native binary:

  1. Diagnostics should show single installation
  2. Config should persist as "installMethod": "native" across restarts
  3. Shell should resolve to native binary without errors

Error Messages/Logs

$ claude --version
-bash: /home/username/.claude/local/claude: No such file or directory

$ # After initial fix attempt:
$ claude /diagnostics

 Diagnostics
 └ Currently running: native (2.0.26)
 └ Path: /home/username/.local/bin/claude
 └ Invoked: /home/username/.local/share/claude/versions/2.0.26
 └ Config install method: local
 └ Auto-updates enabled: false
 └ Search: OK (bundled)
 Warning: Multiple installations found
 └ npm-local at /home/username/.claude/local
 └ native at /home/username/.local/bin/claude
 Warning: Running native installation but config install method is 'local'
 Fix: Run claude install to update configuration
 Warning: Leftover npm local installation at /home/username/.claude/local
 Fix: Run: rm -rf /home/username/.claude/local

Steps to Reproduce

  1. Have npm-local installation at ~/.claude/local/
  2. Install native binary via curl -fsSL https://claude.ai/install.sh | bash
  3. Remove ~/.claude/local/ directory
  4. Edit ~/.claude.json to set "installMethod": "native"
  5. Restart Claude Code → works fine
  6. Exit and restart again → warnings return, config reverted to "local"

Expected: Config stays "native", no warnings
Actual: Config reverts, ~/.claude/local sometimes recreated

Claude Model

Sonnet 4.5 (claude-sonnet-4-5-20250929)

Is this a regression?

Yes - #7734 was closed as "will be fixed in next release" but issue persists

Last Working Version

N/A - migrating from npm-local to native

Claude Code Version

2.0.26 (Claude Code)

Platform

WSL2

Operating System

Linux (Ubuntu on WSL2)

Terminal/Shell

bash

Additional Information

Environment:

  • NVM with multiple Node versions installed
  • Previous npm-global installations across multiple Node versions (nvm isolation)
  • Shell wrappers/aliases from old installation methods

Related Issues:

  • #7734 (closed, claimed fixed)
  • #5540 (install method flipping on Windows)
  • #7231 (false positive config mismatch)
  • #9666 (fresh native install warns about npm)

Root cause appears to be:

  1. Stale shell state (aliases, functions, hash cache)
  2. Zombie Claude processes from other terminals
  3. Config file being reverted by running processes
  4. Shell wrappers pointing to old paths

View original on GitHub ↗

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