Skip to main content
← Back to list
01Issue
FeatureShippedExtensionsPublic
Assigneesstack72

Relationships

#3570 agent-runner: an effort argument next to model (claude --effort, codex reasoning effort)

Opened by kagarmoe · 10/16/2026· Shipped 10/16/2026

Problem

@swamp/agent-runner can choose an agent's model but not its effort:

  • ClaudeProvider.buildArgs emits -p, --model, --add-dir, --allowedTools and --disallowedTools, and never --effort.
  • Because the runner clears the environment, CLAUDE_CODE_EFFORT_LEVEL can't be passed either. That's the right design, and this request doesn't want it loosened.

We pick a model and effort per role and environment, with fallbacks. Our policy is built on @mgreten/agent-provider-catalog; the role map goes triage→classifier, diagnose→implementer, fix→patcher, verify→verifier, review→reviewer. A verifier on haiku at low effort and an implementer on opus at high effort only differ as intended if the runner can apply effort.

Proposed

Add a top-level effort argument to run and review, next to model, with each provider mapping it:

  • claude: --effort <low|medium|high|xhigh|max>.
  • codex: its reasoning-effort config (-c model_reasoning_effort=…), with values mapped or rejected where the provider has no equivalent.

Why top-level rather than per-provider: a policy's fallback can switch provider (for example claude→codex). An effort set alongside the model then carries over.

Validate it per provider, the way model is passed, and record the effort actually applied in the run's data, so a policy check can assert it.

Alternatives

  • An effort field in each provider's providerConfig schema. It's narrower and fits the existing allowedTools pattern, but callers have to re-specify it per provider.
  • An env allowlist or generic extraArgs passthrough. Rejected: it weakens the cleared-environment and validated-arguments design.

Environment

  • @swamp/agent-runner 2026.10.13.1, provider claude, auth cli
  • swamp 20261015.233727.0-sha.a39bdd69

Upstream repository: https://github.com/swamp-club/swamp-extensions

Environment

  • Extension: @swamp/agent-runner@2026.10.13.1
  • swamp: 20261015.233727.0-sha.a39bdd69
  • OS: windows (x86_64)
  • Deno: 2.9.7
  • Shell: C:\Program Files\Git\bin\bash.exe
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 10 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/16/2026, 11:51:07 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/16/2026, 11:25:14 PM
Editable. Press Enter to edit.

system commented 10/16/2026, 11:15:35 PM

Classified automatically when this issue was filed.

  • Source: Extensions

If you feel this classification is incorrect, add a ripple to tell us so.

stack72 commented 10/16/2026, 11:51:11 PM

Thanks @kagarmoe for reporting this! We shipped: Add a top-level effort argument (low|medium|high|xhigh|max) to run and review next to model. It is validated by a shared Zod enum and mapped per provider: claude --effort, codex -c model_reasoning_effort. The applied effort is recorded in runResult/reviewResult data and tags and in a span attribute. The cleared environment stays as it is.. The fix has been merged and a release is on its way. We appreciate your contribution to swamp.

Sign in to post a ripple.