Skip to content

[codex] support custom Agent executable locations#12

Open
ryan-wong-coder wants to merge 1 commit into
text2future:mainfrom
ryan-wong-coder:feat/custom-agent-locations-v2
Open

[codex] support custom Agent executable locations#12
ryan-wong-coder wants to merge 1 commit into
text2future:mainfrom
ryan-wong-coder:feat/custom-agent-locations-v2

Conversation

@ryan-wong-coder

Copy link
Copy Markdown

What

Add user-configurable executable locations for every external Agent runtime. Preferences exposes a custom-location checkbox and native folder picker for Codex, Claude Code, Hermes, Gemini CLI, and OpenClaw. The selected location is persisted, resolved to the platform-specific executable, and shared by runtime status checks and process launch paths.

This version is rebuilt on the rewritten 1.0.6 main history and integrates with the new shared CLI resolver plus the extracted Claude and Codex binary modules.

Why

Desktop applications do not reliably inherit the user's shell PATH, and Agents may be installed through version managers, application bundles, portable directories, or other non-standard locations. Users need a persistent way to point Flowix at the actual executable without creating symlinks.

Closes #5.

Supersedes #6, which was closed when the upstream main history was rewritten.

How tested

  • npx vitest run app/flowix-web/features/preferences/store/user-settings-store.test.ts — 13 tests passed
  • npm run build
  • cargo check --manifest-path app/Cargo.toml -p flowix-desktop
  • cargo test --manifest-path app/Cargo.toml -p flowix-desktop external_runtime::binary::tests — 2 tests passed
  • cargo test --manifest-path app/Cargo.toml -p flowix-desktop external_runtime::cli_resolver::tests — 2 tests passed
  • git diff --check
  • cargo clippy --workspace -- -D warnings — the upstream tree currently contains baseline warnings outside this feature

Risks

  • When custom mode is enabled, an invalid location intentionally prevents fallback to another binary so configuration errors remain visible.
  • The process-global registry is refreshed only after preference persistence succeeds.

Checklist

  • No secrets / tokens / .env files touched
  • No force-push to main
  • Backward-compatible preference defaults added
  • No database schema migration required

@ryan-wong-coder ryan-wong-coder marked this pull request as ready for review July 15, 2026 03:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(agent): support custom executable locations for external agents

2 participants