Commit Graph

4 Commits

Author SHA1 Message Date
kshitijk4poor
ba2707eacc test(anthropic): drop the private-helper ordering assertion the version check already implies 2026-09-20 17:58:45 +05:30
kshitijk4poor
6d360502c1 test(anthropic): drop the unused cache-reset fixture 2026-09-20 17:58:45 +05:30
kshitijk4poor
7b33e98909 test(anthropic): 8 → 2 invariant tests for Claude Code version detection
Keep the end-to-end GUI-launch case (bare PATH, CLI under a prefix → real
version) and rewrite the ordering test to the mixed-name case (PATH
claude-code beats a stale prefix claude). Real files in tmp_path and the
module's own prefix seam replace the process-wide expanduser/isfile/which
patches; the version cache is reset per test.
2026-09-20 17:58:45 +05:30
r00tedbrain-backup
0eb04ef51f fix(anthropic): detect Claude Code version outside PATH on GUI launches
Claude Code version detection resolved the CLI by bare name, which only
searches PATH. GUI-launched processes on macOS (the Electron desktop app,
LaunchAgents) inherit the bare /usr/bin:/bin:/usr/sbin:/sbin, which carries
none of the CLI's install prefixes. Detection found nothing there even with a
current CLI installed and fell through to the stale fallback constant, which
Anthropic rejects:

    HTTP 400: Claude Code 2.1.74 does not support this model;
    version 2.1.251 or newer is required.

Same machine, same CLI, same account: fine from a terminal, rejected from the
desktop app. Verified by running the unmodified function under each PATH —
GUI PATH returned 2.1.74, terminal PATH returned the installed 2.1.276.

Probe the well-known install prefixes in addition to PATH. Additive only: a
PATH hit still wins and is tried first, and on Windows no prefix resolves to a
file so detection falls back to the PATH lookup exactly as before.
2026-09-20 17:58:45 +05:30