openai / openai/codex

[Codex Desktop] Heartbeat keeps waking a usage-limited thread after child agents fail

Open
#43,252 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app automations bug rate-limits subagent windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Codex Desktop heartbeat keeps waking a usage-limited thread after child agents fail

What version of the Codex App are you using?

Windows installed package OpenAI.Codex, version 26.901.5003.0, verified with Get-AppxPackage on 2026-09-06. This is the installed package version, not a value read from the About dialog.

What subscription do you have?

ChatGPT/Codex account with usage limits. Exact subscription tier is not included in this report. The owner reports exhausting usage credits during the work; per-wakeup billed usage has not been independently established.

What platform is your computer?

Windows desktop, PowerShell; local Codex projectless chat with a thread-bound heartbeat and three delegated agents.

What issue are you seeing?

A recurring heartbeat continued injecting the same long audit/bug-monitoring prompt into a stalled thread after all three child agents reported usage-limit failures. Repeated scheduled messages are visible from at least 2026-09-06 11:28 UTC through 16:54 UTC, approximately every 15 minutes, without completed intervening audit work in the visible thread. The goal later reported status usageLimited.

The three agents returned this error:

You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Sep 12th, 2026 1:50 PM.

The owner had to interrupt manually, point out the loop and request a pause. The automation was subsequently paused with the app's automation tool, and the persisted PAUSED status was verified. No expensive reproduction or usage reset was performed for this report.

There was also an orchestration mistake: one 15-minute trigger bundled new bug triage with daily business reviews and weekly website audits, even though several candidates were still unpublished. The prompt said to keep quiet on unchanged conditions and preserve checkpoints, but those instructions did not prevent repeated scheduler injections during the usage-limited state. This report concerns both missing scheduler backoff/circuit breaking and the agent's failure to stop/escalate a non-progressing plan.

What steps can reproduce the bug?

Observed sequence, not a fresh reproduction:

  1. Create a thread-bound heartbeat on a 15-minute interval for a long-running project conversation.
  2. Run a parent goal and three delegated agents with unfinished source work.
  3. Reach a state where all child agents fail with usage-limit errors and the parent goal is usageLimited.
  4. Leave the heartbeat active.
  5. Observe repeated full prompt injections instead of one actionable blocked notification followed by automatic suspension/backoff.

The exact conversation and unredacted diagnostics are intentionally omitted from this public issue because they contain client information. The owner can supply private diagnostics through in-app feedback if needed. The full multi-business prompt is also omitted.

What is the expected behavior?

  • Suspend or back off scheduled wakeups when the target thread cannot execute because of usage limits. Preserve the due task without flooding its conversation.
  • Coalesce duplicate pending wakeups; do not stack repeated full prompts behind a blocked run.
  • Emit one clear blocked/usage notice and identify what action permits resumption.
  • Detect repeated failures/questions and lack of progress; stop agent retries and ask the operator once rather than continuing indefinitely.
  • Keep development checks tied to relevant changes, and audits gated on an actually launched site, required access and a due evidence window.
  • Show which automation is responsible, its actual cadence, last successful run, last failure and next run, with a reliable pause control.
  • Make per-run usage attributable so the owner can distinguish completed work from failed or duplicate wakeups.

Additional information

Related but not exact duplicates:

The distinct combination here is a thread heartbeat repeatedly delivering prompts after all child agents fail and the goal becomes usage-limited. Exact credit loss attributable to these wakeups is unknown; please investigate backend usage rather than treating the owner's reported loss as a measured amount. Production projects were not deployed during the recovery, and the unfinished source work was preserved.

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

The report names no source files, tests, or implementation entry points; start by tracing thread-bound heartbeat scheduling and the usageLimited state through the Codex Desktop automation flow. Use the described sequence as the investigation scenario, then verify that blocked runs back off, duplicate wakeups are coalesced, one actionable notice is emitted, and the automation exposes reliable pause and run-status details.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell, rust
Domain
backend, desktop, devtools
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.