Skip to content

Feature request: --fast flag for task command (service_tier=fast support) #210

@WingsOfPanda

Description

@WingsOfPanda

Feature Request

Add a --fast flag to the task command in codex-companion.mjs that enables the Codex fast tier (service_tier = "fast") — 1.5x speed at 2x credits.

Motivation

The Codex CLI supports fast mode via config.toml (service_tier = "fast") and interactive /fast on, but the companion script has no programmatic way to request the fast tier. This matters for:

  • CI/automation workflows that invoke Codex via the companion script and want to trade credits for speed on time-sensitive tasks
  • Claude Code plugin integrations that dispatch parallel Codex tasks and benefit from faster turnaround
  • Selective fast mode — some tasks (broad code scans) benefit from speed, while others (deep audits) benefit from quality. A per-invocation flag is more useful than a global config toggle.

Proposed Usage

node codex-companion.mjs task --fast --prompt "analyze this code"
node codex-companion.mjs task --fast --prompt-file prompt.md --effort high
node codex-companion.mjs task --fast --background --prompt-file prompt.md

Implementation

We have a working prototype in PR #209 that threads serviceTier: "fast" through buildTaskRequestexecuteTaskRunrunAppServerTurnbuildThreadParams/buildResumeParams.

However, in our testing the speed improvement was inconsistent — 1.35x faster on a simple task (18.8s → 13.9s) but actually slower on a heavier code analysis task (1m37s → 2m12s). This may indicate that serviceTier needs to be set at a different level in the app-server protocol (e.g., at the turn level rather than thread level), or that the fast tier has startup overhead that only amortizes over longer sessions.

Questions for the team

  1. Is serviceTier the correct parameter name for the app-server thread/start request? Or does it need to be passed differently (e.g., at the turn/start level, or as a separate API call)?
  2. Does the fast tier apply per-thread or per-turn? If per-turn, should the flag be on turn/start instead of thread/start?
  3. Are there known limitations of fast tier when invoked via the app-server (as opposed to the interactive CLI)?

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions