[BUG] claude --version reports the PATH CLI, not the binary running the current Claude Desktop session
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 available to me (2.1.247, bundled with Claude Desktop; latest published is 2.1.251)
What's Wrong?
Inside a Claude Code session running in the Claude Desktop app, claude --version reports the version of the standalone terminal CLI on PATH — not the version of the binary actually executing the session.
Measured 2026-08-31 in a live desktop session:
$ echo $CLAUDE_CODE_ENTRYPOINT
claude-desktop
$ echo $CLAUDE_CODE_EXECPATH
~/Library/Application Support/Claude/claude-code/2.1.247/claude.app/Contents/MacOS/claude
$ claude --version
2.1.235 (Claude Code)
$ command -v claude
~/.local/bin/claude
So three different "current" versions coexist on one machine, all true, none interchangeable:
| Version | What it is |
|---|---|
| 2.1.235 | the standalone terminal CLI on PATH — what claude --version prints |
| 2.1.247 | the binary actually executing this session ($CLAUDE_CODE_EXECPATH) |
| 2.1.251 | latest published release |
The skew direction is the counter-intuitive part: the desktop app runs ahead of the terminal CLI, not behind it. So the reported number isn't merely stale in a predictable direction — it can be newer or older depending on which surface last updated.
What Should Happen?
When run inside a Claude Code session, claude --version should report the version of the process serving that session — or report both, explicitly labelled, e.g.:
2.1.247 (Claude Code, this session)
2.1.235 (Claude Code CLI on PATH)
Why It Matters
This bug report form has a required Version field and a required preflight checkbox asserting "I am using the latest version of Claude Code". A user in a desktop session fills in both from claude --version and gets both wrong — so triage receives a version number that does not correspond to the code that produced the behaviour. That is a bug in the reporting path itself, which makes every other report slightly less reliable.
Beyond triage: any user-side documentation, changelog note, or automation that stamps observed behaviour against claude --version is recording it against the wrong build. I found this after stamping several internal notes with a version that was never running.
Steps to Reproduce
- Open a Claude Code session inside the Claude Desktop app on macOS, with a standalone
claudeCLI also installed onPATHat a different version - Run
claude --version - Compare with
echo $CLAUDE_CODE_EXECPATH
Observed: step 2 reports the PATH CLI's version; step 3 shows a different version actually executing.
Is this a regression?
Unknown — likely present since the desktop app began bundling its own Claude Code build.
Environment
- macOS (Darwin 25.5.0), Apple Silicon
CLAUDE_CODE_ENTRYPOINT=claude-desktop, session running 2.1.247, PATH CLI at 2.1.235