Codex 0.158 approval review retry: what it means for a Sume call

Codex 0.158.0 retries an approval review when new user input arrives instead of aborting the pending action. Keep the Sume call's idempotency_key stable.

4 min readSume
All posts

Codex CLI 0.158.0 retries an approval review when new user input arrives, instead of automatically aborting the pending action. For a paid Sume call that sits behind an approval, a follow-up message from you no longer cancels it by itself, so make sure the call still carries the same idempotency_key if it is sent again.

The Codex line is from the changelog entry dated September 28, 2026, read 2026-10-01. The Sume gates are from the tools and gates page.

What did Codex 0.158.0 change?

Under Approvals the changelog says approval reviews retry when new user input arrives, preventing automatic abort of pending actions. A day later, 0.159.0 enabled terminal input approval by default for elevated permission commands. Only the first line bears on MCP calls.

Why does a retried approval matter for a paid call?

You can type a correction while an approval is pending, for example a different shot length. The review now retries with that new input instead of aborting. If the model then sends the paid call again with edited arguments, a new idempotency_key means a new job; the same key on identical arguments is a replay.

Approval and spend controls around a paid Sume call, read 2026-10-01.
ControlWho sets itEffect on a retry
Approval reviewCodexRetries on new user input, per 0.158.0
idempotency_keyThe tool callRequired on paid and write tools; dedup key
dry_run=trueThe tool callPreview cost and admission, submit nothing
max_spend_usdThe tool callEnforced only when provided

How do I make the approval prompt informative?

Ask the model to run the call with dry_run=true first, so the approval you give is for a real price rather than a guess. Generation admission explains what admission checks: valid request, balance that can be reserved, and queue capacity. Then approve the real call with a cap in max_spend_usd.

What if I interrupt while a job is running?

Approval only guards the submit. A job that was already accepted keeps running and billing until it finishes or is cancelled, and Sume's docs say cancellation works only before generation starts. Read the job with jobs_status instead of submitting again.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume