[BUG] Doctor misdetects mise-managed install as native due to .local/share path heuristic

Resolved 💬 3 comments Opened Feb 16, 2026 by luxenathan Closed Feb 16, 2026

Description

claude doctor misclassifies a mise-managed Claude Code installation as a "native" install because the executable path contains .local/share. The native install detection heuristic is too broad — it matches ~/.local/share/mise/installs/claude/ when it should only match ~/.local/share/claude/.

Reproduction

  1. Install Claude Code via mise (a polyglot tool version manager)
  2. Run claude doctor
Diagnostics
└ Currently running: native (2.1.42)
└ Path: ~/.local/share/mise/installs/claude/2.1.42/claude
└ Config install method: global
└ Search: OK (bundled)
Warning: Native installation exists but ~/.local/bin is not in your PATH
Warning: Running native installation but config install method is 'global'

The binary is at ~/.local/share/mise/installs/claude/<version>/claude, but doctor reports it as native.

Expected behavior

Installs managed by external package managers (mise, asdf, brew, etc.) should not be classified as "native". The native detection should check for ~/.local/share/claude/ specifically rather than matching any path containing .local/share.

Ideally there would be a package-manager installation type, or at minimum the path check should be more specific.

Additional context

  • DISABLE_INSTALLATION_CHECKS=1 does not suppress these warnings — it only gates the config mismatch checks, not the upstream path-based classification
  • macOS, Claude Code 2.1.42

View original on GitHub ↗

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