openai / openai/codex

Codex Desktop agent spent my Full reset credit without confirmation

Open
#43,118 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug model-behavior rate-limits
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.