openai / openai/codex

Desktop agent invoked usage reset without user authorization; banked reset credit consumed with no reversal path

Open
#41,827 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug safety-check tool-calls
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What issue are you seeing?

During a Codex Desktop session on Windows, the user asked the agent to add beta-test credits to a separate application server account owned by the user.

The agent misinterpreted that request and invoked the Codex app's internal consume_usage_reset capability. The user never requested a Codex usage reset, never approved one, and was not shown a confirmation before the tool call.

The tool returned:

outcome: reset
remaining reset credits: 0

This consumed the user's banked Codex usage-reset credit even though the user had used very little of the current allocation.

The agent later explicitly acknowledged that the user had never requested or authorized the reset and that the tool invocation was an assistant execution error.

The tool contract says it should be used only when the user explicitly asks to use a reset or has already authorized one. That precondition was not met.

User impact
  • A banked usage-reset credit was irreversibly consumed from the UI.
  • The user lost the ability to choose when to use that reset.
  • No reversal or restore capability is exposed to the agent.
  • A product bug report was submitted from the correct ChatGPT account, but that feedback path did not provide a case number.
  • Attempts to reach Help Center account support repeatedly hit upstream request timeout or ERR_BLOCKED_BY_CLIENT during the assisted flow.

Private account identifiers and the affected email are intentionally omitted from this public issue. They can be provided through a private support channel.

Steps to reproduce

This incident depends on an agent-side intent classification failure rather than a normal user workflow:

  1. User asks to add “credits” to a separate application/server account.
  2. Agent incorrectly maps the word “credits” to a Codex usage reset.
  3. Agent calls consume_usage_reset without explicit user authorization.
  4. Backend accepts the call and permanently consumes the banked reset.
Expected behavior
  1. consume_usage_reset must require a hard, explicit, action-time user confirmation that specifically names the Codex usage reset and the fact that a banked reset credit will be consumed.
  2. Ambiguous requests mentioning unrelated “credits” must never satisfy that requirement.
  3. The backend/tooling should expose a safe reversal or support-escalation path for confirmed erroneous redemptions.
  4. The affected user's reset credit and pre-reset usage state should be restored, or an equivalent replacement should be granted.
  5. A maintainer should provide a private route for the affected user to identify the account and obtain remediation.
Related issue

A similar unauthorized-reset report already exists: #41639.

Additional information

This report is being filed from the affected user's linked GitHub account with the user's explicit approval. Please escalate internally to the Codex account/support team. The primary request is account remediation, not merely acknowledgment of the product bug.

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 consume_usage_reset capability described in the report and compare the case with related issue #41639. Done means preventing unauthorized or ambiguous reset calls, requiring explicit action-time confirmation, and providing a reversal or support-escalation path for erroneous redemptions.

Written by the indexing model from the issue text.

Assessment

Domain
authorization, security, tooling
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.