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:
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

Provider-Specific (Not Promoted)

Provider Reference Pages

Claude

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

Codex

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

Gemini

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