Skip to content

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

@luxenathan

Description

@luxenathan

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingplatform:macosIssue specifically occurs on macOS

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions