mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-13 19:20:04 +00:00
531900cf70
* 🐛 fix(desktop): detect bundled Codex CLI from Codex.app on macOS OpenAI's Codex desktop app bundles the real codex CLI inside Codex.app (Contents/Resources/codex) but never symlinks it onto PATH. A user with only the desktop app installed failed PATH-based detection, so codex was never spawned and the chat silently produced no reply. Add a well-known install-location fallback inside detectHeterogeneousCliCommand (tried after the PATH lookup, so a user's own install still wins), covering both /Applications and ~/Applications. The fallback runs at detection time, not module load, so it touches no node:os named exports on import. Feed the detector-resolved absolute path through to spawn so a bare `codex` doesn't ENOENT under spawn's leaner env. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * 🐛 fix(desktop): carry login-shell PATH into CLI spawn env When the detector resolved a bare command via the login-shell PATH, only the absolute shim path was kept; the PATH used for resolution was dropped. spawn() then built its env from the leaner Finder-inherited PATH, so an absolute shim with `#!/usr/bin/env node` still failed with `env: node: No such file or directory` even though preflight succeeded (npm/Homebrew/mise installs launched from Finder on macOS). Surface the resolved PATH through ToolStatus.resolvedPathEnv, stash it on the session, and merge it into spawnEnv (session.env still wins). Only set when resolution fell back to the login-shell PATH, so the common on-PATH case is unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>