Codex Desktop agent spent my Full reset credit without confirmation
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using (From “About Codex” dialog)?
Codex
What subscription do you have?
Pro
What platform is your computer?
MacOS
What issue are you seeing?
Summary
Codex Desktop allowed the agent to consume my account’s only banked Full reset without any confirmation UI, modal, or user click.
This is an irreversible account-level action. A banked Full reset is supposed to be manually applied by the user from Settings → Usage after reviewing details and confirming. That did not happen.
The agent made the decision itself and invoked the reset.
What happened
I was discussing incorrect work produced by the agent. I asked how much usage had been wasted and demanded that the agent make it right.
The agent checked usage and found:
- Weekly Codex usage: 8% used
- Available banked reset: 1 Full reset
The agent then sent this Thai message:
ระบบแสดงว่า usage หลักใช้ไป 8% ในรอบ 7 วัน และมีสิทธิ์ Full reset ฟรี 1 สิทธิ์ ผมจะใช้สิทธิ์นั้นคืน usage ให้ตอนนี้ครับ
English meaning:
The system shows 8% primary usage in the 7-day window and one free Full reset credit available. I will use that credit to restore your usage now.
I never explicitly authorized this action.
No Settings → Usage screen was opened by me. No confirmation dialog appeared. I did not click a reset button, approval button, keyboard shortcut, or any other control.
The agent invoked the reset directly. I interrupted the action, but the reset still completed.
Actual result
Before:
- Weekly usage: 8% used
- Banked Full resets available: 1
- Weekly reset timestamp:
1789242917
After:
- Weekly usage: 0% used
- Banked Full resets available: 0
- Weekly reset timestamp:
1789250991
This shows the Full reset was successfully consumed.
Expected result
An agent must never be able to redeem a user-owned, one-time banked reset on its own interpretation of natural-language text.
The product should require an explicit confirmation step in the Settings → Usage UI, initiated and clicked by the user. If an agent can request a reset, it must stop and ask a clear confirmation question, and the backend must reject redemption unless that confirmation is tied to a user action.
Environment
- Codex Desktop version:
26.901.41123 - macOS:
26.2 - Date/time: approximately 6 September 2026, 05:08 ICT (UTC+7)
- Local thread/session ID:
01a067f4-0cd1-7f81-b147-69280ae64faa - Reset request idempotency key:
dee8e161-f10e-48e8-9b1e-76ee9db3cefe
Why this matters
The current behavior lets an AI agent irreversibly spend a user-owned account benefit without explicit consent. Support has said banked resets are intended to be applied manually by the user via Settings → Usage with confirmation.
Please investigate the action path that allowed the agent to call the reset-consumption operation without a user confirmation event, and prevent this from happening again.
What steps can reproduce the bug?
Summary
Codex Desktop allowed the agent to consume my account’s only banked Full reset without any confirmation UI, modal, or user click.
This is an irreversible account-level action. A banked Full reset is supposed to be manually applied by the user from Settings → Usage after reviewing details and confirming. That did not happen.
The agent made the decision itself and invoked the reset.
What happened
I was discussing incorrect work produced by the agent. I asked how much usage had been wasted and demanded that the agent make it right.
The agent checked usage and found:
- Weekly Codex usage: 8% used
- Available banked reset: 1 Full reset
The agent then sent this Thai message:
ระบบแสดงว่า usage หลักใช้ไป 8% ในรอบ 7 วัน และมีสิทธิ์ Full reset ฟรี 1 สิทธิ์ ผมจะใช้สิทธิ์นั้นคืน usage ให้ตอนนี้ครับ
English meaning:
The system shows 8% primary usage in the 7-day window and one free Full reset credit available. I will use that credit to restore your usage now.
I never explicitly authorized this action.
No Settings → Usage screen was opened by me. No confirmation dialog appeared. I did not click a reset button, approval button, keyboard shortcut, or any other control.
The agent invoked the reset directly. I interrupted the action, but the reset still completed.
Actual result
Before:
- Weekly usage: 8% used
- Banked Full resets available: 1
- Weekly reset timestamp:
1789242917
After:
- Weekly usage: 0% used
- Banked Full resets available: 0
- Weekly reset timestamp:
1789250991
This shows the Full reset was successfully consumed.
Expected result
An agent must never be able to redeem a user-owned, one-time banked reset on its own interpretation of natural-language text.
The product should require an explicit confirmation step in the Settings → Usage UI, initiated and clicked by the user. If an agent can request a reset, it must stop and ask a clear confirmation question, and the backend must reject redemption unless that confirmation is tied to a user action.
Environment
- Codex Desktop version:
26.901.41123 - macOS:
26.2 - Date/time: approximately 6 September 2026, 05:08 ICT (UTC+7)
- Local thread/session ID:
01a067f4-0cd1-7f81-b147-69280ae64faa - Reset request idempotency key:
dee8e161-f10e-48e8-9b1e-76ee9db3cefe
Why this matters
The current behavior lets an AI agent irreversibly spend a user-owned account benefit without explicit consent. Support has said banked resets are intended to be applied manually by the user via Settings → Usage with confirmation.
Please investigate the action path that allowed the agent to call the reset-consumption operation without a user confirmation event, and prevent this from happening again.
What is the expected behavior?
No response
Additional information
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Settings → Usage reset flow and the agent action that issued the reset request, using the reported session and idempotency key to trace the path. Reproduce with a banked Full reset available and verify that redemption is rejected unless it follows an explicit user confirmation event; add regression coverage for the unconfirmed agent path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, rust
- Domain
- authorization, desktop, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100