You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Claude Code brain reports CLI not installed when the app is launched from Finder #5728
With the Claude Code provider configured, launching OpenHuman from Finder/Dock fails every chat turn with [claude-code] \claude` CLI not installed` — even though the CLI is installed and works from a terminal launch.
Problem
What happened vs expected:version_check::resolve_binary() searches only $PATH. A macOS app launched from Finder/Dock inherits launchd's stripped PATH (/usr/bin:/bin:/usr/sbin:/sbin), which does not contain the native installer's default ~/.local/bin — so the probe returns CliStatus::NotInstalled and every turn fails instantly. The same install works when the app is started from a terminal (shell PATH), which makes the failure look intermittent/machine-specific.
Steps to reproduce:
Install the Claude Code CLI with the native installer (lands in ~/.local/bin/claude).
Configure the claude-code provider; verify chat works when OpenHuman is launched from a terminal (open /Applications/OpenHuman.app from a shell also works, since it inherits the shell env).
Quit; relaunch OpenHuman from Finder or the Dock.
Send any message → run_chat_task failed … [claude-code] \claude` CLI not installed. Install Claude Code CLI … >= 2.0.0 and retry.`
Version/platform: v0.63.14, macOS (Darwin 25.3.0), desktop bundle; claude CLI 2.1.241 at ~/.local/bin/claude.
Verified against the live process: ps eww <pid> shows PATH=/usr/bin:/bin:/usr/sbin:/sbin for a Finder-launched instance.
Solution (optional)
Fall back to well-known install locations when the PATH search misses (~/.local/bin, ~/.claude/local, bun/npm globals, Homebrew), and prepend the resolved CLI's directory + user bin dirs to the spawned child's PATH so the CLI's own shell-outs (git, rg, node) resolve too. PR attached.
Workaround until then: launchctl setenv OPENHUMAN_CLAUDE_CLI ~/.local/bin/claude and relaunch (the env override is checked first).
Acceptance criteria
Repro gone — a Finder/Dock launch with the CLI at ~/.local/bin/claude (and nothing claude-related on the launchd PATH) completes a chat turn.
Regression safety — unit tests cover the well-known-location fallback and the child-PATH construction.
Diff coverage ≥ 80% — the fix PR meets the changed-lines coverage gate (Vitest + cargo-llvm-cov, enforced by .github/workflows/ci-lite.yml).
Related
Fix PR to follow (same author). Also related: the silent-hang issue filed separately — this failure never reached the UI.
Activity