Skip to main content

AgentOptions

AgentOptions is the portable interface that all provider-specific options extend. It defines the common surface that works identically across Claude, Codex, and Gemini.
Each provider adds its own options beyond this interface β€” see the provider-specific reference pages for details.

Configuration Precedence

Agent behavior is determined by a layered precedence system. Higher layers override lower ones:
Explicit always wins. If you set agent-client.codex.skip-git-check=true alongside agent-client.mode=strict, the explicit property wins. See Defaults Philosophy for the full rationale.

Example: Precedence in Action

Result: Codex runs in STRICT mode except skipGitCheck is true because the explicit property takes precedence.

Mode System

AgentClientMode is a portable enum controlling default permissiveness:
ModeBehaviorWhen to Use
LOOSE (default)Minimize preconditions β€” works in any directoryEvaluation, development, tutorials
STRICTConservative β€” requires explicit opt-inProduction, CI, shared environments
See Defaults Philosophy for detailed mode-vs-property interaction examples.

Promotion Rubric

Provider-specific options graduate to the portable AgentOptions interface when all three conditions hold:
  1. Two or more providers have a semantic equivalent
  2. Absence causes failures on easy-tier benchmarks (evidence, not speculation)
  3. The option can be expressed without leaking provider-specific concepts
Options that don’t meet the rubric remain in the provider-specific namespace indefinitely. This is intentional β€” not every option should be portable.

Current Portable Options

OptionClaudeCodexGeminiStatus
modelclaude-sonnet-4-5gpt-5-codexgemini-2.5-flashPortable
timeout5m5m5mPortable
effort--effortmodel_reasoning_effortignored (no effort knob)Portable (low/medium/high; native ranges are wider)

Provider-Specific (Not Promoted)

OptionProviderWhy Not Portable
skipGitCheckCodexOnly Codex has a git directory gate
maxThinkingTokensClaudeClaude-specific extended thinking
yoloClaude, GeminiCodex uses fullAuto β€” different semantics
temperatureGeminiNot exposed by Claude/Codex CLIs

Provider Reference Pages

Claude

18 properties β€” agent-client.claude.*

Codex

6 properties β€” agent-client.codex.*

Gemini

6 properties β€” agent-client.gemini.*