Skip to content

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

Description

@memorymuse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report
  • 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:

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:packagingbugSomething isn't workinghas reproHas detailed reproduction stepsplatform:linuxIssue specifically occurs on Linux

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions