Summary
The effort field in swarm.json agent config is currently ignored
by the Gemini CLI driver (agent_docker_env is a no-op). Claude Code
and Codex CLI both support it.
Context
The Gemini API supports reasoning control but the CLI has no flag:
- Gemini 3 models:
thinkingLevel (minimal/low/medium/high)
- Gemini 2.5 models:
thinkingBudget (numeric token count)
The CLI only exposes this via settings.json model alias overrides.
There's an upstream feature request at google-gemini/gemini-cli#25122.
Proposed approach
Map the swarm effort value to Gemini config in agent_settings():
- Detect model family (3.x vs 2.5) from
SWARM_MODEL
- Write
thinkingLevel or thinkingBudget into
~/.gemini/settings.json before each session
- Mapping:
low → LOW, medium → MEDIUM,
high → HIGH, none/minimal → MINIMAL (3.x only)
Alternatively, wait for upstream CLI flag support
(google-gemini/gemini-cli#25122) and use that directly.
Motivation
Without effort control, Gemini 3 agents default to HIGH thinking
on every request, even trivial ones like git status or lock file
checks. This wastes thinking tokens and adds latency on simple
tasks. Conversely, users running complex audits can't request
deeper reasoning. The other two drivers already support this,
making Gemini the odd one out in mixed-driver swarms where the
same effort value is set across all agents.
Summary
The
effortfield inswarm.jsonagent config is currently ignoredby the Gemini CLI driver (
agent_docker_envis a no-op). Claude Codeand Codex CLI both support it.
Context
The Gemini API supports reasoning control but the CLI has no flag:
thinkingLevel(minimal/low/medium/high)thinkingBudget(numeric token count)The CLI only exposes this via
settings.jsonmodel alias overrides.There's an upstream feature request at google-gemini/gemini-cli#25122.
Proposed approach
Map the swarm
effortvalue to Gemini config inagent_settings():SWARM_MODELthinkingLevelorthinkingBudgetinto~/.gemini/settings.jsonbefore each sessionlow→LOW,medium→MEDIUM,high→HIGH,none/minimal→MINIMAL(3.x only)Alternatively, wait for upstream CLI flag support
(google-gemini/gemini-cli#25122) and use that directly.
Motivation
Without effort control, Gemini 3 agents default to HIGH thinking
on every request, even trivial ones like
git statusor lock filechecks. This wastes thinking tokens and adds latency on simple
tasks. Conversely, users running complex audits can't request
deeper reasoning. The other two drivers already support this,
making Gemini the odd one out in mixed-driver swarms where the
same
effortvalue is set across all agents.