Skip to content

Settings UI 'Codex binary path' has no effect #486

@chuks-qua

Description

@chuks-qua

Problem

The Settings UI exposes "Codex binary path" and "Codex home path" fields, but neither value reaches the server. The user can type a custom path, but the server ignores it and always spawns the default codex binary.

Steps to reproduce

  1. Open Settings and set a custom Codex binary path (e.g., /usr/local/bin/codex-nightly)
  2. Start a new chat session
  3. Observe that the server still invokes the default codex binary

Expected behavior

When codexBinaryPath is set in Settings, the server should use that value when spawning Codex CLI commands (both for sessions and health checks).

Relevant files

The server-side plumbing exists but never receives data. The gap is in the orchestration layer:

  • apps/web/src/appSettings.ts — stores codexBinaryPath in localStorage
  • packages/contracts/src/provider.ts — defines providerOptions.codex.binaryPath schema
  • packages/contracts/src/orchestration.tsThreadCreateCommand and ThreadTurnStartCommand lack a providerOptions field, so the web app has no way to send the setting
  • apps/server/src/orchestration/Layers/ProviderCommandReactor.ts — never reads or forwards providerOptions
  • apps/server/src/codexAppServerManager.tsreadCodexProviderOptions() (line ~1510) and startSession() (line ~551) already handle custom paths, but always receive undefined
  • apps/server/src/provider/Layers/ProviderHealth.tsrunCodexCommand() hardcodes "codex", ignoring any custom path

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions