Codex background memory worker runaway — bug and quota restoration request
What version of Codex CLI is running?
codex-cli 0.149.0
What subscription do you have?
Pro 200$
Which model were you using?
gpt-5.6-terra
What platform is your computer?
Darwin 25.5.0 arm64 arm
What terminal emulator and version are you using (if applicable)?
ghostty
Codex doctor report
{
"schemaVersion": 1,
"generatedAt": "1787403988s since unix epoch",
"overallStatus": "warning",
"codexVersion": "0.149.0",
"checks": {
"app_server.status": {
"id": "app_server.status",
"category": "app-server",
"status": "ok",
"summary": "background server is not running",
"details": {
"control socket": "/Users/vietanhjp93/.codex/app-server-control/app-server-control.sock",
"daemon state dir": "/Users/vietanhjp93/.codex/app-server-daemon",
"mode": "ephemeral",
"pid file": "/Users/vietanhjp93/.codex/app-server-daemon/app-server.pid (missing)",
"settings": "/Users/vietanhjp93/.codex/app-server-daemon/settings.json (missing)",
"status": "not running",
"update-loop pid file": "/Users/vietanhjp93/.codex/app-server-daemon/app-server-updater.pid (missing)"
},
"remediation": null,
"durationMs": 0
},
"auth.credentials": {
"id": "auth.credentials",
"category": "auth",
"status": "ok",
"summary": "auth is configured",
"details": {
"auth file": "/Users/vietanhjp93/.codex/auth.json",
"auth storage mode": "File",
"stored API key": "false",
"stored ChatGPT tokens": "true",
"stored agent identity": "false",
"stored auth mode": "chatgpt"
},
"remediation": null,
"durationMs": 0
},
"config.load": {
"id": "config.load",
"category": "config",
"status": "ok",
"summary": "config loaded",
"details": {
"CODEX_HOME": "/Users/vietanhjp93/.codex",
"config.toml": "/Users/vietanhjp93/.codex/config.toml",
"config.toml parse": "ok",
"cwd": "/Users/vietanhjp93/Documents/code/ai-workflow-cobol",
"enabled feature flags": "shell_tool, unified_exec, shell_snapshot, code_mode_host, terminal_resize_reflow, sqlite, memories, hooks, enable_request_compression, unbounded_connection_retries, multi_agent, tool_search_always_defer_mcp_tools, plugins, in_app_chat, in_app_dictation, in_app_updates, resize_all_images, item_ids, steer, default_mode_request_user_input, guardian_approval, collaboration_modes, tool_call_mcp_elicitation, auth_elicitation, tui_app_server, remote_compaction_v2",
"feature flag overrides": "view_image=false, memories=true, apps=false, tool_suggest=false, in_app_browser=false, browser_use=false, browser_use_full_cdp_access=false, browser_use_external=false, computer_use=false, remote_plugin=false, plugin_sharing=false, image_generation=false, skill_mcp_dependency_install=false, skill_search=false, mentions_v2=false, default_mode_request_user_input=true, goals=false, personality=false, fast_mode=false, workspace_dependencies=false",
"feature flags enabled": "26",
"log dir": "/Users/vietanhjp93/.codex/log",
"mcp servers": "0",
"model": "<default>",
"model provider": "openai",
"sqlite home": "/Users/vietanhjp93/.codex"
},
"remediation": null,
"durationMs": 0
},
"desktop.app.version": {
"id": "desktop.app.version",
"category": "desktop",
"status": "ok",
"summary": "the desktop application is installed",
"details": {
"log directory": "$HOME/Library/Logs/com.openai.codex",
"running": "true",
"version": "26.818.22352"
},
"remediation": null,
"durationMs": 0
},
"desktop.app_server.handshake": {
"id": "desktop.app_server.handshake",
"category": "desktop",
"status": "ok",
"summary": "the desktop app-server initialized successfully",
"details": {},
"remediation": null,
"durationMs": 0
},
"desktop.security.enforcement": {
"id": "desktop.security.enforcement",
"category": "desktop",
"status": "ok",
"summary": "the desktop application passed available macos security assessments",
"details": {
"gatekeeper": "accepted"
},
"remediation": null,
"durationMs": 0
},
"git.environment": {
"id": "git.environment",
"category": "git",
"status": "ok",
"summary": "git version 2.50.1 (Apple Git-155)",
"details": {
".git entry": "directory",
"PATH git #1": "/usr/bin/git",
"PATH git entries": "1",
"git branch": "develop",
"git build options": "git version 2.50.1 (Apple Git-155); cpu: arm64; no commit associated with this build; sizeof-long: 8; sizeof-size_t: 8; shell-path: /bin/sh; feature: fsmonitor--daemon; libcurl: 8.7.1; zlib: 1.2.12; SHA-1: SHA1_DC; SHA-256: SHA256_BLK",
"git exec path": "/Library/Developer/CommandLineTools/usr/libexec/git-core",
"git version": "git version 2.50.1 (Apple Git-155)",
"repo detected": "true",
"repo root": "/Users/vietanhjp93/Documents/code/ai-workflow-cobol",
"selected git": "/usr/bin/git"
},
"remediation": null,
"durationMs": 18
},
"installation": {
"id": "installation",
"category": "install",
"status": "ok",
"summary": "installation looks consistent",
"details": {
"PATH codex #1": "/Users/vietanhjp93/.nvm/versions/node/v22.13.1/bin/codex",
"PATH codex #2": "/Users/vietanhjp93/.nvm/versions/node/v22.13.1/bin/codex",
"PATH codex #3": "/Users/vietanhjp93/.nvm/versions/node/v22.13.1/bin/codex",
"PATH codex #4": "/Users/vietanhjp93/.nvm/versions/node/v22.13.1/bin/codex",
"PATH codex #5": "/Users/vietanhjp93/.nvm/versions/node/v22.13.1/bin/codex",
"PATH codex entries": "5",
"current executable": "/Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/bin/codex",
"install context": "npm (package /Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin, bin /Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/bin, resources /Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-resources, path /Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-path)",
"managed by bun": "false",
"managed by npm": "true",
"managed by pnpm": "false",
"managed package root": "/Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex",
"npm update target": "/Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex"
},
"remediation": null,
"durationMs": 181
},
"mcp.config": {
"id": "mcp.config",
"category": "mcp",
"status": "ok",
"summary": "no MCP servers configured",
"details": {},
"remediation": null,
"durationMs": 0
},
"network.env": {
"id": "network.env",
"category": "network",
"status": "ok",
"summary": "network-related environment looks readable",
"details": {
"managed proxy": "not configured",
"proxy env vars": "none",
"respect system proxy": "disabled",
"system proxy": "direct"
},
"remediation": null,
"durationMs": 0
},
"network.provider_reachability": {
"id": "network.provider_reachability",
"category": "reachability",
"status": "ok",
"summary": "active provider endpoints are reachable over HTTP",
"details": {
"desktop assets CDN": "https://chatgpt.com/backend-api/<redacted> reachable (HTTP 200)",
"openai API inference URL": "http://127.0.0.1:10100/v1/<redacted> reachable (HTTP 404)",
"openai API route probe": "http://127.0.0.1:10100/v1/<redacted> route exists (HTTP 200)",
"reachability mode": "ChatGPT auth"
},
"remediation": null,
"durationMs": 336
},
"network.websocket_reachability": {
"id": "network.websocket_reachability",
"category": "websocket",
"status": "warning",
"summary": "Responses WebSocket failed; HTTPS fallback may still work",
"details": {
"DNS": "1 IPv4, 0 IPv6, first IPv4",
"auth mode": "chatgpt",
"connect timeout": "15000 ms",
"endpoint": "ws://127.0.0.1:10100/v1/<redacted>",
"handshake transport error": "http 426 Upgrade Required: Some(\"{\\\"error\\\":{\\\"message\\\":\\\"Responses WebSocket transport is disabled; use HTTP\\\",\\\"type\\\":\\\"upgrade_required\\\",\\\"code\\\":\\\"upgrade_required\\\"}}\")",
"model provider": "openai",
"provider name": "OpenAI",
"proxy env vars": "none",
"supports websockets": "true",
"wire API": "responses"
},
"remediation": "Check proxy, VPN, firewall, DNS, custom CA, and WebSocket policy support.",
"durationMs": 154
},
"runtime.provenance": {
"id": "runtime.provenance",
"category": "runtime",
"status": "ok",
"summary": "running npm on macos-aarch64",
"details": {
"commit": "unknown",
"current executable": "/Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/bin/codex",
"install method": "npm (package /Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin, bin /Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/bin, resources /Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-resources, path /Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-path)",
"platform": "macos-aarch64",
"version": "0.149.0"
},
"remediation": null,
"durationMs": 0
},
"runtime.search": {
"id": "runtime.search",
"category": "search",
"status": "ok",
"summary": "search is OK (bundled)",
"details": {
"search command": "/Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin/codex-path/rg",
"search command readiness": "file exists",
"search provider": "bundled"
},
"remediation": null,
"durationMs": 0
},
"sandbox.helpers": {
"id": "sandbox.helpers",
"category": "sandbox",
"status": "ok",
"summary": "sandbox configuration is readable",
"details": {
"approval policy": "Never",
"codex-linux-sandbox helper": "none",
"execve wrapper helper": "/Users/vietanhjp93/.codex/tmp/arg0/codex-arg0KiG9iw/codex-execve-wrapper",
"filesystem sandbox": "unrestricted",
"network sandbox": "enabled"
},
"remediation": null,
"durationMs": 0
},
"security.endpoint": {
"id": "security.endpoint",
"category": "security",
"status": "ok",
"summary": "no supported endpoint protection detected",
"details": {
"endpoint products": "none detected"
},
"remediation": null,
"durationMs": 1446
},
"state.paths": {
"id": "state.paths",
"category": "state",
"status": "ok",
"summary": "state paths and databases are inspectable",
"details": {
"CODEX_HOME": "/Users/vietanhjp93/.codex (dir)",
"active rollout files": "2347 files, 3755157733 total bytes, 1599981 average bytes",
"archived rollout files": "0 files, 0 total bytes, 0 average bytes",
"goals DB": "/Users/vietanhjp93/.codex/goals_1.sqlite (file)",
"goals DB integrity": "ok",
"log DB": "/Users/vietanhjp93/.codex/logs_2.sqlite (file)",
"log DB integrity": "ok",
"log dir": "/Users/vietanhjp93/.codex/log (dir)",
"memories DB": "/Users/vietanhjp93/.codex/memories_1.sqlite (file)",
"memories DB integrity": "ok",
"queue DB": "/Users/vietanhjp93/.codex/queue_1.sqlite (file)",
"queue DB integrity": "ok",
"sqlite home": "/Users/vietanhjp93/.codex (dir)",
"state DB": "/Users/vietanhjp93/.codex/state_5.sqlite (file)",
"state DB integrity": "ok",
"thread history DB": "/Users/vietanhjp93/.codex/thread_history_1.sqlite (file)",
"thread history DB integrity": "ok"
},
"remediation": null,
"durationMs": 3805
},
"state.rollout_db_parity": {
"id": "state.rollout_db_parity",
"category": "threads",
"status": "warning",
"summary": "rollout files and state DB thread inventory differ",
"details": {
"default model provider": "openai",
"rollout DB active files": "2331",
"rollout DB active rows": "2331",
"rollout DB archive mismatches": "0",
"rollout DB archived files": "0",
"rollout DB archived rows": "0",
"rollout DB duplicate DB paths": "0",
"rollout DB duplicate rollout thread ids": "0",
"rollout DB malformed file names": "0",
"rollout DB missing active rows": "0",
"rollout DB missing archived rows": "0",
"rollout DB model providers": "openai=2331",
"rollout DB rows": "2331",
"rollout DB scan cap reached": "false",
"rollout DB scan error sample": [
"/Users/vietanhjp93/.codex/sessions/2025/08/30/rollout-2025-08-30T22-50-28-6e689b74-028f-4464-a82f-61442dbc5c62.jsonl (rollout at /Users/vietanhjp93/.codex/sessions/2025/08/30/rollout-2025-08-30T22-50-28-6e689b74-028f-4464-a82f-61442dbc5c62.jsonl has no usable header record)",
"/Users/vietanhjp93/.codex/sessions/2025/08/29/rollout-2025-08-29T14-00-47-f81a33af-0d8e-481e-862d-d88782de047e.jsonl (rollout at /Users/vietanhjp93/.codex/sessions/2025/08/29/rollout-2025-08-29T14-00-47-f81a33af-0d8e-481e-862d-d88782de047e.jsonl has no usable header record)",
"/Users/vietanhjp93/.codex/sessions/2025/09/14/rollout-2025-09-14T19-41-53-c119776c-00bd-46b4-b737-e23bbf41d3dc.jsonl (rollout at /Users/vietanhjp93/.codex/sessions/2025/09/14/rollout-2025-09-14T19-41-53-c119776c-00bd-46b4-b737-e23bbf41d3dc.jsonl has no usable header record)",
"/Users/vietanhjp93/.codex/sessions/2025/09/14/rollout-2025-09-14T08-53-22-1b8c9741-a34e-4b42-a5ac-3971e1288285.jsonl (rollout at /Users/vietanhjp93/.codex/sessions/2025/09/14/rollout-2025-09-14T08-53-22-1b8c9741-a34e-4b42-a5ac-3971e1288285.jsonl has no usable header record)",
"/Users/vietanhjp93/.codex/sessions/2025/09/15/rollout-2025-09-15T21-39-25-02a82daf-b9d5-43d4-8064-7591f67d5e3a.jsonl (rollout at /Users/vietanhjp93/.codex/sessions/2025/09/15/rollout-2025-09-15T21-39-25-02a82daf-b9d5-43d4-8064-7591f67d5e3a.jsonl has no usable header record)"
],
"rollout DB scan errors": "16",
"rollout DB sources": "exec=1387, subagent:thread_spawn=581, cli=257, vscode=105, subagent:review=1",
"rollout DB stale rows": "0"
},
"issues": [
{
"severity": "warning",
"cause": "rollout scan was incomplete or found bad files",
"measured": "16 scan errors, 0 malformed names, scan cap reached: false",
"expected": "rollout directories are fully scannable",
"remedy": "Check file permissions and unexpected files under CODEX_HOME sessions.",
"fields": []
}
],
"remediation": null,
"durationMs": 1005
},
"system.disk": {
"id": "system.disk",
"category": "disk",
"status": "ok",
"summary": "sufficient free disk space (90.5 GiB)",
"details": {
"CODEX_HOME available": "90.5 GiB",
"failure threshold": "1.0 GiB",
"warning threshold": "5.0 GiB",
"worktree available": "90.5 GiB"
},
"remediation": null,
"durationMs": 0
},
"system.environment": {
"id": "system.environment",
"category": "system",
"status": "ok",
"summary": "OS language ja-JP",
"details": {
"EDITOR": "not set",
"LANG": "en_US.UTF-8",
"VISUAL": "not set",
"os": "Mac OS 26.5.2 [64-bit]",
"os language": "ja-JP",
"os type": "Mac OS",
"os version": "26.5.2"
},
"remediation": null,
"durationMs": 3
},
"terminal.env": {
"id": "terminal.env",
"category": "terminal",
"status": "ok",
"summary": "terminal metadata was detected",
"details": {
"COLORTERM": "truecolor",
"TERMINFO": "/Applications/Ghostty.app/Contents/Resources/terminfo (dir)",
"TERM_PROGRAM": "ghostty",
"color output": "enabled",
"effective locale": "en_US.UTF-8",
"stderr is terminal": "true",
"stdin is terminal": "true",
"stdout is terminal": "true",
"terminal": "Ghostty",
"terminal size": "479x121",
"terminal version": "1.3.1"
},
"remediation": null,
"durationMs": 0
},
"terminal.title": {
"id": "terminal.title",
"category": "title",
"status": "ok",
"summary": "terminal title default",
"details": {
"terminal title activity": "true",
"terminal title items": "activity, project-name",
"terminal title project source": "git repo root",
"terminal title project value": "ai-workflow-cobol",
"terminal title source": "default"
},
"remediation": null,
"durationMs": 0
},
"updates.status": {
"id": "updates.status",
"category": "updates",
"status": "ok",
"summary": "update configuration is locally consistent",
"details": {
"cached latest version": "0.149.0",
"check for update on startup": "true",
"last checked at": "2026-08-22T01:38:26.303934Z",
"latest version": "0.149.0",
"latest version status": "current version is not older",
"npm update target": "/Users/vietanhjp93/.nvm/versions/node/v22.13.1/lib/node_modules/@openai/codex",
"update action": "npm install -g @openai/codex",
"version cache": "/Users/vietanhjp93/.codex/version.json"
},
"remediation": null,
"durationMs": 269
}
}
}
What issue are you seeing?
Codex background memory worker runaway — bug and quota restoration request
Short support request
Subject: Request to restore Codex usage consumed by an unintended background memory loop
Hello OpenAI Support,
On August 22, 2026, Codex CLI 0.149.0 on macOS entered an unintended background inference loop while I was not actively using the affected session. The loop ran for 5 hours, 13 minutes, and 33 seconds and generated 1,911 model requests before I manually terminated the owning Codex process.
The requests were generated by one fixed internal background-memory thread and turn. Local Codex logs showed no pending user input and no model-requested follow-up, but the same turn was submitted repeatedly. The consolidated memory outputs were not updated, so the repeated requests did not make useful progress.
Please investigate this incident and restore the Codex usage consumed by the unintended loop. If an exact usage rollback is unavailable, I would appreciate an equivalent courtesy quota reset or credit adjustment.
Incident window:
- Start: August 22, 2026 15:53:06 JST / 06:53:06 UTC
- End: August 22, 2026 21:06:39 JST / 12:06:39 UTC
- Requests: 1,911 total
- HTTP outcomes: 1,894 status 200, 16 status 502, and 1 final status 499 caused by manual termination
- Input tokens reported: 242,939,410
- Cached input tokens reported: 241,319,680
- Output tokens reported: 36,154
I can provide the sanitized local log queries and request records if needed. No credentials, prompt contents, or customer source are included in this report.
Thank you.
Engineering bug report
Title
Codex 0.149.0 background memory worker repeatedly resubmits a completed turn while idle, causing 1,911 unintended requests
Summary
Codex CLI 0.149.0 entered a runaway inference loop in an internal background memory worker. The same internal thread and turn repeatedly called gpt-5.6-terra even though Codex logged:
model_needs_follow_up=false
has_pending_input=false
needs_follow_up=false
The loop continued while the visible parent session was idle and stopped only when the owning Codex process was terminated.
Environment
- Date: August 22, 2026
- Platform: macOS 26.5.2, arm64
- Codex CLI: 0.149.0
- Authentication: ChatGPT/Codex login
- Background model:
gpt-5.6-terra - Reasoning effort:
medium - OpenCodex: 2.31.0 local loopback proxy on port 10100
- Affected process: Codex PID 15818, wrapper PID 15029, terminal
ttys004 - Background worker CWD:
~/.codex/memories
Traffic was routed through a local OpenCodex proxy. However, OS socket ownership and Codex's own logs_2.sqlite records show that PID 15818 repeatedly submitted the same turn to the proxy. OpenCodex recorded the incoming loopback requests but did not schedule the turn.
Identifiers
- OpenCodex conversation ID:
a9a56cc4e444673438f993163f80463a - Codex background thread ID:
01a0283e-939e-75d1-9c51-c2108fe98db1 - Codex turn ID:
01a0283e-93f2-71e2-b83f-38ad4642ebd2 - Codex owning visible thread ID:
01a0272b-e9b1-7313-8a8b-b2dbee7b8004
Timeline
- At 15:53:04 JST, Codex regenerated
~/.codex/memories/raw_memories.mdand a set of rollout summaries. - At 15:53:06 JST, the background conversation began calling
gpt-5.6-terra. MEMORY.mdandmemory_summary.mdwere not updated, indicating consolidation did not complete.- The same background thread and turn continued issuing requests approximately every 10–20 seconds.
- At 21:06 JST, the owning Codex process was terminated.
- The in-flight request closed with status 499, and no further requests from the affected conversation were observed during the verification window.
Impact
- Runtime: 5 hours, 13 minutes, 33 seconds
- Total requests: 1,911
- Successful requests: 1,894
- Status 502 requests: 16
- Final client-cancel status 499: 1
- Reported input tokens: 242,939,410
- Reported cached input tokens: 241,319,680
- Reported output tokens: 36,154
- The dashboard showed repeated estimated usage charges while no intentional user work was being performed by the background thread.
The reported input total is mostly cached input and should not be interpreted as entirely fresh-token billing. Nevertheless, the repeated calls consumed subscription usage/quota.
Expected behavior
Background memory generation should terminate after extraction/consolidation completes. A turn with no pending input and needs_follow_up=false should not be submitted again indefinitely. Codex should also impose a bounded iteration/time/request guard on background workers.
Actual behavior
Each request returned a small response, commonly around 14–16 output tokens. Codex then immediately submitted another request for the same thread and turn despite the terminal follow-up flags being false. No additional memory output files were produced after the initial raw-memory write.
Local evidence
The following query was used against ~/.codex/logs_2.sqlite:
SELECT
datetime(ts, 'unixepoch', 'localtime') AS local_time,
thread_id,
process_uuid,
feedback_log_body
FROM logs
WHERE target = 'codex_core::session::turn'
AND thread_id = '01a0283e-939e-75d1-9c51-c2108fe98db1'
ORDER BY ts DESC, ts_nanos DESC;
Representative terminal state:
model=gpt-5.6-terra
codex.turn.reasoning_effort=medium
cwd=~/.codex/memories
full_context_window_limit_reached=false
token_limit_reached=false
model_needs_follow_up=false
has_pending_input=false
needs_follow_up=false
The request log was filtered by conversation ID from ~/.opencodex/usage.jsonl. Only request metadata and usage totals were inspected; prompt contents and credentials were not collected.
Related upstream reports
openai/codex#30054— needs-follow-up loops and unexpected quota drainopenai/codex#30061— runaway inference loop and token burn while idle
Requested resolution
- Investigate why the background memory worker resubmitted a completed turn.
- Add a hard iteration, time, and cumulative-token limit for background memory generation.
- Stop resubmission when
needs_follow_up=falseand there is no pending input. - Restore the subscription usage consumed during the incident window, or provide an equivalent quota/credit adjustment.
- Confirm the supported mitigation until a stable fix is released.
Submission checklist
- In Codex, run
/feedbackand submit a short description to obtain a feedback session ID. - Add that feedback session ID near the top of this report.
- Submit the engineering section to the official
openai/codexGitHub issue tracker, preferably as a new issue or a detailed comment on the closest matching open issue. - Send the short support request through OpenAI Support for the account-level quota/credit adjustment. GitHub maintainers generally cannot modify subscription usage.
- Attach screenshots of the OpenCodex request list and the affected Codex usage page, but redact account identifiers and unrelated prompts.
What steps can reproduce the bug?
Uploaded thread: 01a02935-c255-7793-b9c9-b7a16b373437
What is the expected behavior?
Background memory generation should terminate after extraction/consolidation completes. A turn with no pending input and needs_follow_up=false should not be submitted again indefinitely. Codex should also impose a bounded iteration/time/request guard on background workers.
Additional information
_No response_