Codex CLI 0.146.0: /backend-api/codex/responses/compact returns 404 {"detail":"Not Found"}

Open 💬 10 comments Opened Aug 13, 2026 by minggg98
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of Codex CLI is running?

0.146.0

What subscription do you have?

pro 20x

Which model were you using?

gpt-5.6-sol

What platform is your computer?

macOS

What terminal emulator and version are you using (if applicable)?

_No response_

Codex doctor report

{
  "schemaVersion": 1,
  "generatedAt": "1786606181s since unix epoch",
  "overallStatus": "ok",
  "codexVersion": "0.146.0",
  "checks": {
    "app_server.status": {
      "id": "app_server.status",
      "category": "app-server",
      "status": "ok",
      "summary": "background server is not running",
      "details": {
        "control socket": "/Users/admin_1/.codex/app-server-control/app-server-control.sock",
        "daemon state dir": "/Users/admin_1/.codex/app-server-daemon",
        "mode": "ephemeral",
        "pid file": "/Users/admin_1/.codex/app-server-daemon/app-server.pid (missing)",
        "settings": "/Users/admin_1/.codex/app-server-daemon/settings.json (missing)",
        "status": "not running",
        "update-loop pid file": "/Users/admin_1/.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/admin_1/.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/admin_1/.codex",
        "config.toml": "/Users/admin_1/.codex/config.toml",
        "config.toml parse": "ok",
        "cwd": "/Users/admin_1/Desktop/sensebeingProjects/ualter/alter-service",
        "enabled feature flags": "shell_tool, unified_exec, shell_snapshot, code_mode_host, terminal_resize_reflow, sqlite, hooks, enable_request_compression, multi_agent, apps, tool_search_always_defer_mcp_tools, tool_suggest, plugins, in_app_browser, in_app_updates, browser_use, browser_use_full_cdp_access, browser_use_external, computer_use, remote_plugin, plugin_sharing, image_generation, resize_all_images, item_ids, skill_mcp_dependency_install, skill_search, mentions_v2, steer, guardian_approval, goals, collaboration_modes, tool_call_mcp_elicitation, auth_elicitation, personality, fast_mode, tui_app_server, workspace_dependencies",
        "feature flag overrides": "remote_compaction_v2=false",
        "feature flags enabled": "37",
        "log dir": "/Users/admin_1/.codex/log",
        "mcp servers": "5",
        "model": "gpt-5.6-sol",
        "model provider": "openai",
        "sqlite home": "/Users/admin_1/.codex"
      },
      "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": "main",
        "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": "/Applications/Xcode.app/Contents/Developer/usr/libexec/git-core",
        "git version": "git version 2.50.1 (Apple Git-155)",
        "repo detected": "true",
        "repo root": "/Users/admin_1/Desktop/sensebeingProjects/ualter/alter-service",
        "selected git": "/usr/bin/git"
      },
      "remediation": null,
      "durationMs": 49
    },
    "installation": {
      "id": "installation",
      "category": "install",
      "status": "ok",
      "summary": "installation looks consistent",
      "details": {
        "PATH codex #1": "/Users/admin_1/.local/bin/codex",
        "current executable": "/Users/admin_1/.local/bin/codex",
        "install context": "standalone (unix, package /Users/admin_1/.codex/packages/standalone/releases/0.146.0-aarch64-apple-darwin, bin /Users/admin_1/.codex/packages/standalone/releases/0.146.0-aarch64-apple-darwin/bin, resources /Users/admin_1/.codex/packages/standalone/releases/0.146.0-aarch64-apple-darwin/codex-resources, path /Users/admin_1/.codex/packages/standalone/releases/0.146.0-aarch64-apple-darwin/codex-path)",
        "managed by bun": "false",
        "managed by npm": "false",
        "managed by pnpm": "false",
        "managed package root": "not set"
      },
      "remediation": null,
      "durationMs": 6
    },
    "mcp.config": {
      "id": "mcp.config",
      "category": "mcp",
      "status": "ok",
      "summary": "MCP configuration is locally consistent",
      "details": {
        "configured servers": "5",
        "disabled servers": "1",
        "stdio servers": "5"
      },
      "remediation": null,
      "durationMs": 0
    },
    "network.env": {
      "id": "network.env",
      "category": "network",
      "status": "ok",
      "summary": "network-related environment looks readable",
      "details": {
        "SSL_CERT_FILE": "readable file /Users/admin_1/Desktop/sensebeingProjects/ualter/alter-service-alter-release/tools/alter-release/.venv/lib/python3.12/site-packages/certifi/cacert.pem",
        "proxy env vars": "none"
      },
      "remediation": null,
      "durationMs": 0
    },
    "network.provider_reachability": {
      "id": "network.provider_reachability",
      "category": "reachability",
      "status": "ok",
      "summary": "active provider endpoints are reachable over HTTP",
      "details": {
        "ChatGPT base URL": "https://chatgpt.com/backend-api/ reachable (HTTP 403)",
        "reachability mode": "ChatGPT auth"
      },
      "remediation": null,
      "durationMs": 1096
    },
    "network.websocket_reachability": {
      "id": "network.websocket_reachability",
      "category": "websocket",
      "status": "ok",
      "summary": "Responses WebSocket handshake succeeded",
      "details": {
        "DNS": "1 IPv4, 0 IPv6, first IPv4",
        "auth mode": "chatgpt",
        "connect timeout": "15000 ms",
        "endpoint": "wss://chatgpt.com/backend-api/<redacted>",
        "handshake result": "HTTP 101 Switching Protocols",
        "model provider": "openai",
        "models etag present": "true",
        "provider name": "OpenAI",
        "proxy env vars": "none",
        "reasoning header": "false",
        "server model present": "false",
        "supports websockets": "true",
        "wire API": "responses"
      },
      "remediation": null,
      "durationMs": 1583
    },
    "runtime.provenance": {
      "id": "runtime.provenance",
      "category": "runtime",
      "status": "ok",
      "summary": "running standalone on macos-aarch64",
      "details": {
        "commit": "unknown",
        "current executable": "/Users/admin_1/.local/bin/codex",
        "install method": "standalone (unix, package /Users/admin_1/.codex/packages/standalone/releases/0.146.0-aarch64-apple-darwin, bin /Users/admin_1/.codex/packages/standalone/releases/0.146.0-aarch64-apple-darwin/bin, resources /Users/admin_1/.codex/packages/standalone/releases/0.146.0-aarch64-apple-darwin/codex-resources, path /Users/admin_1/.codex/packages/standalone/releases/0.146.0-aarch64-apple-darwin/codex-path)",
        "platform": "macos-aarch64",
        "version": "0.146.0"
      },
      "remediation": null,
      "durationMs": 0
    },
    "runtime.search": {
      "id": "runtime.search",
      "category": "search",
      "status": "ok",
      "summary": "search is OK (bundled)",
      "details": {
        "search command": "/Users/admin_1/.codex/packages/standalone/releases/0.146.0-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": "OnRequest",
        "codex-linux-sandbox helper": "none",
        "execve wrapper helper": "/Users/admin_1/.codex/tmp/arg0/codex-arg0jy5Bfx/codex-execve-wrapper",
        "filesystem sandbox": "restricted",
        "network sandbox": "restricted"
      },
      "remediation": null,
      "durationMs": 0
    },
    "state.paths": {
      "id": "state.paths",
      "category": "state",
      "status": "ok",
      "summary": "state paths and databases are inspectable",
      "details": {
        "CODEX_HOME": "/Users/admin_1/.codex (dir)",
        "active rollout files": "536 files, 1474952200 total bytes, 2751776 average bytes",
        "archived rollout files": "0 files, 0 total bytes, 0 average bytes",
        "goals DB": "/Users/admin_1/.codex/goals_1.sqlite (file)",
        "goals DB integrity": "ok",
        "log DB": "/Users/admin_1/.codex/logs_2.sqlite (file)",
        "log DB integrity": "ok",
        "log dir": "/Users/admin_1/.codex/log (dir)",
        "memories DB": "/Users/admin_1/.codex/memories_1.sqlite (file)",
        "memories DB integrity": "ok",
        "sqlite home": "/Users/admin_1/.codex (dir)",
        "standalone release cache": "1 entries in /Users/admin_1/.codex/packages/standalone/releases",
        "state DB": "/Users/admin_1/.codex/state_5.sqlite (file)",
        "state DB integrity": "ok",
        "thread history DB": "/Users/admin_1/.codex/thread_history_1.sqlite (file)",
        "thread history DB integrity": "ok"
      },
      "remediation": null,
      "durationMs": 5335
    },
    "state.rollout_db_parity": {
      "id": "state.rollout_db_parity",
      "category": "threads",
      "status": "ok",
      "summary": "rollout files and state DB thread inventory agree",
      "details": {
        "default model provider": "openai",
        "rollout DB active files": "536",
        "rollout DB active rows": "536",
        "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=536",
        "rollout DB rows": "536",
        "rollout DB scan cap reached": "false",
        "rollout DB scan errors": "0",
        "rollout DB sources": "subagent:thread_spawn=406, cli=119, vscode=11",
        "rollout DB stale rows": "0"
      },
      "remediation": null,
      "durationMs": 325
    },
    "system.environment": {
      "id": "system.environment",
      "category": "system",
      "status": "ok",
      "summary": "OS language zh-Hans-US",
      "details": {
        "EDITOR": "not set",
        "LANG": "en_US.UTF-8",
        "LESS": "set",
        "PAGER": "set",
        "VISUAL": "not set",
        "os": "Mac OS 26.6.1 [64-bit]",
        "os language": "zh-Hans-US",
        "os type": "Mac OS",
        "os version": "26.6.1"
      },
      "remediation": null,
      "durationMs": 1
    },
    "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": "188x47",
        "terminal version": "1.3.0"
      },
      "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": "alter-service",
        "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.147.0",
        "check for update on startup": "true",
        "dismissed version": "0.147.0",
        "last checked at": "2026-08-13T03:17:36.249932Z",
        "latest version": "0.147.0",
        "latest version status": "newer version is available",
        "update action": "standalone installer",
        "version cache": "/Users/admin_1/.codex/version.json"
      },
      "remediation": null,
      "durationMs": 1546
    }
  }
}

What issue are you seeing?

■ Error running remote compact task: unexpected status 404 Not Found: {"detail":"Not Found"}, url: https://chatgpt.com/backend-api/codex/responses/compact, cf-ray: a2a5f3a0dd12a5bb-BOS,
request id: 149cd99d-fab9-4e76-a94a-6cbbf0d6a5a9

What steps can reproduce the bug?

I consistently encounter this issue whenever Codex CLI attempts to compact the conversation context.

There are several ways to reproduce it:

  1. Automatic compaction
  • Continue using a Codex CLI session until the context window approaches its limit.
  • When Codex automatically triggers context compaction, the compaction request fails with the following error:
Error running remote compact task:
unexpected status 404 Not Found:
{"detail":"Not Found"},
url: https://chatgpt.com/backend-api/codex/responses/compact
  1. Manual /compact in a long-running session
  • Run /compact manually in an existing session.
  • The same 404 Not Found error is returned.
  1. Manual /compact in a brand-new session
  • Start a completely new Codex CLI session.
  • Have only a short conversation, with context usage at approximately 1%.
  • Run /compact manually.
  • The exact same 404 Not Found error still occurs.

Therefore, the issue does not appear to depend on the amount of context being used or whether the context window is actually close to its limit.

Both automatic compaction and manually invoking /compact consistently fail because the request to:

https://chatgpt.com/backend-api/codex/responses/compact

returns:

{"detail":"Not Found"}

This makes context compaction effectively unavailable in Codex CLI. In long-running sessions, once the context reaches the automatic compaction threshold, I can no longer continue the session normally because the compaction step fails.

What is the expected behavior?

_No response_

Additional information

_No response_

View original on GitHub ↗

10 Comments

github-actions[bot] contributor · 15 days ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #38240

Powered by Codex Action

17755834648a-cmd · 14 days ago

This appears closely related to #38323, but my reproduction is on Codex Desktop for Windows rather than Codex CLI on macOS.

This suggests the same /backend-api/codex/responses/compact 404 may affect multiple platforms and Codex clients.

homebrewmike · 14 days ago

Same failure is occurring in JetBrains IntelliJ's built-in Codex integration, so this is not limited to standalone Codex CLI 0.146.0.

Error running remote compact task: unexpected status 404 Not Found: {"detail":"Not Found"}, url: https://chatgpt.com/backend-api/codex/responses/compact, cf-ray: a2aa243bdfd0fc89-MSP, request id: b2c89cc1-041b-41da-bf0e-df9aad673589

Environment:

  • IntelliJ IDEA 2026.1.4, build IU-261.26222.65
  • macOS 26.5.2, Apple Silicon / aarch64
  • JetBrains built-in Codex 0.137.0
  • ACP server 0.0.46
  • AI Assistant plugin 261.26222.129

This has happened repeatedly in the same setup. Two earlier occurrences returned the same /responses/compact 404 through Cloudflare ORD, while this occurrence is through MSP, suggesting it is not isolated to one edge location.

Expected: remote compaction should succeed so the existing Codex conversation/task can continue.

homebrewmike · 14 days ago

Another occurrence from the same IntelliJ setup at approximately 2026-08-13 20:44 CDT:

Error running remote compact task: unexpected status 404 Not Found: {"detail":"Not Found"}, url: https://chatgpt.com/backend-api/codex/responses/compact, cf-ray: a2ac39a2ff4c6a41-MSP, request id: 418d4a6f-86d2-4733-b511-e9c3770186eb

This is a second MSP edge occurrence with a distinct Cloudflare ray and request ID, in addition to prior MSP/ORD failures already reported above. The failure remains reproducible/intermittent rather than a one-off request.

cat-thats-fat · 13 days ago

Confirmed here too, reproducible on CLI 0.147.0 as wwell

homebrewmike · 12 days ago

A/B model test from the same IntelliJ installation also fails on GPT-5.4 High with the identical remote compaction endpoint and HTTP status:

Error running remote compact task: unexpected status 404 Not Found: {"detail":"Not Found"}, url: https://chatgpt.com/backend-api/codex/responses/compact, cf-ray: a2b889474b6fe02b-MSP, request id: 1f988f84-2ee6-404b-b09f-bdf70864bc6b

This rules against the issue being specific to the previously selected model. Same JetBrains environment, different model, same /backend-api/codex/responses/compact 404 through MSP.

shleder · 11 days ago

This is a good real-world control case for codex-rescue: compaction itself is failing upstream with 404 even in a fresh thread, so the useful question is whether the local persisted session remains healthy versus accumulating an interrupted/recovery condition.

I’m field-testing the tool on real Codex failures. It is experimental, local-first, and keeps source rollouts read-only. If you’re willing, please run:

pipx install codex-rescue
codex-rescue sessions
codex-rescue doctor --latest

A HEALTHY/no-damage result is useful evidence here too; I specifically don’t want the tool to misclassify a server-side compact failure as local corruption.

Please share only sanitized output plus versions/exit codes—no raw JSONL/SQLite, prompts, credentials, or unredacted paths. Repo: https://github.com/shleder/codex-rescue

jdcodes1 · 9 days ago

Client-side, this 404 is handled worse than it needs to be, which is why it kills sessions (#38240 is the same failure "blocking session completely").

When the remote compact call fails, the only recovery codex attempts is retrying the same remote endpoint with a fallback model — should_retry_with_current_model matches UnexpectedStatus (https://github.com/openai/codex/blob/1f41cc5d92/codex-rs/core/src/compact_model_fallback.rs#L9-L20, retry wiring in core/src/compact_remote.rs#L225-L240). But a route-level 404 ({"detail":"Not Found"} from /backend-api/codex/responses/compact) is model-independent — the fallback model hits the identical 404, the error is rethrown, and the turn dies. Since compaction was triggered because the context is full, the session is then wedged: every continuation re-triggers compaction and re-fails.

A local compaction implementation exists (run_compact_task in core/src/compact.rs) but the remote path never falls back to it. Fix outline: (1) on remote-compact 404/route-missing, fall back to local compaction instead of a same-endpoint model retry; (2) treat 404 specifically as "endpoint unavailable" and remember it for the session rather than re-probing every attempt. Server-side, the route intermittently 404ing for some accounts (0.146.0 era) is its own question for the backend team.

wcossey-marex · 4 days ago

I honestly thought I was the only one struggling with this issue, it's been driving me mad for weeks now and it happens almost every single time.

use /plan, answer a few questions and mid-flight implementing the changes codex just dies (compacting)! And there's no possibility to recover, attempting to resume the conversation is a no-go, the first prompt will automatically re-trigger compaction

Error running remote compact task: unexpected status 404 Not Found: {"detail":"Not Found"}, url: https://chatgpt.com/backend-api/codex/responses/compact, cf-ray: a3019c7e993a77a1-LHR, request id: b51d3501-f202-401f-90a5-030f8004d4c0

Tried:

codex resume {session-id} --disable enable_request_compression --no-alt-screen
codex features disable enable_request_compression

nothing works

Edit:
Using Rider with codex in a [Rider] terminal, not using a Codex plugin

shleder · 1 day ago

Client-side handling of this 404 deserves its own fix track: when remote compact fails, the thread should not become unresumable. In my affected sessions the rollouts were intact afterwards - vetto rescue diagnose <session.jsonl> verifies that per-thread if anyone wants to confirm their data survived the 404 loop.