Skip to content

After the Codex began implementing its plan, it responded with just a single line immediately after compaction - as if it were completely forgetting all previous context. #37394

Open

Description

@Rokurolize

What version of Codex CLI is running?

codex-cli 0.147.0

What subscription do you have?

Pro 20x

Which model were you using?

gpt-5.6-luna

What platform is your computer?

Linux 6.18.33.2-microsoft-standard-WSL2 x86_64 x86_64

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

Windows Terminal

Codex doctor report

roku@DESKTOP-U0GHMTQ:~/codex-consultant-20260517$ codex doctor --json
{
  "schemaVersion": 1,
  "generatedAt": "1786084129s since unix epoch",
  "overallStatus": "warning",
  "codexVersion": "0.147.0",
  "checks": {
    "app_server.status": {
      "id": "app_server.status",
      "category": "app-server",
      "status": "ok",
      "summary": "background server is not running",
      "details": {
        "control socket": "/home/roku/.codex/app-server-control/app-server-control.sock",
        "daemon state dir": "/home/roku/.codex/app-server-daemon",
        "mode": "ephemeral",
        "pid file": "/home/roku/.codex/app-server-daemon/app-server.pid (missing)",
        "settings": "/home/roku/.codex/app-server-daemon/settings.json (missing)",
        "status": "not running",
        "update-loop pid file": "/home/roku/.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": "/home/roku/.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": "/home/roku/.codex",
        "config.toml": "/home/roku/.codex/config.toml",
        "config.toml parse": "ok",
        "cwd": "/home/roku/codex-consultant-20260517",
        "enabled feature flags": "<redacted>",
        "feature flag overrides": "<redacted>",
        "feature flags enabled": "52",
        "log dir": "/home/roku/.codex/log",
        "mcp servers": "0",
        "model": "gpt-5.6-luna",
        "model provider": "openai",
        "sqlite home": "/home/roku/.codex"
      },
      "remediation": null,
      "durationMs": 0
    },
    "git.environment": {
      "id": "git.environment",
      "category": "git",
      "status": "ok",
      "summary": "git version 2.43.0",
      "details": {
        ".git entry": "directory",
        "PATH git #1": "/usr/bin/git",
        "PATH git #2": "/bin/git",
        "PATH git entries": "2",
        "git branch": "main",
        "git build options": "git version 2.43.0; cpu: x86_64; no commit associated with this build; sizeof-long: 8; sizeof-size_t: 8; shell-path: /bin/sh",
        "git exec path": "/usr/lib/git-core",
        "git version": "git version 2.43.0",
        "repo detected": "true",
        "repo root": "/home/roku/codex-consultant-20260517",
        "selected git": "/usr/bin/git"
      },
      "remediation": null,
      "durationMs": 96
    },
    "installation": {
      "id": "installation",
      "category": "install",
      "status": "ok",
      "summary": "installation looks consistent",
      "details": {
        "PATH codex #1": "/home/roku/.local/bin/codex",
        "current executable": "/home/roku/.codex/packages/standalone/releases/0.147.0-x86_64-unknown-linux-musl/bin/codex",
        "install context": "standalone (unix, package /home/roku/.codex/packages/standalone/releases/0.147.0-x86_64-unknown-linux-musl, bin /home/roku/.codex/packages/standalone/releases/0.147.0-x86_64-unknown-linux-musl/bin, resources /home/roku/.codex/packages/standalone/releases/0.147.0-x86_64-unknown-linux-musl/codex-resources, path /home/roku/.codex/packages/standalone/releases/0.147.0-x86_64-unknown-linux-musl/codex-path)",
        "managed by bun": "false",
        "managed by npm": "false",
        "managed by pnpm": "false",
        "managed package root": "not set"
      },
      "remediation": null,
      "durationMs": 7
    },
    "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": {
        "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 404)",
        "reachability mode": "ChatGPT auth"
      },
      "remediation": null,
      "durationMs": 168
    },
    "network.websocket_reachability": {
      "id": "network.websocket_reachability",
      "category": "websocket",
      "status": "ok",
      "summary": "Responses WebSocket handshake succeeded",
      "details": {
        "DNS": "2 IPv4, 2 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": 769
    },
    "runtime.provenance": {
      "id": "runtime.provenance",
      "category": "runtime",
      "status": "ok",
      "summary": "running standalone on linux-x86_64",
      "details": {
        "commit": "unknown",
        "current executable": "/home/roku/.codex/packages/standalone/releases/0.147.0-x86_64-unknown-linux-musl/bin/codex",
        "install method": "standalone (unix, package /home/roku/.codex/packages/standalone/releases/0.147.0-x86_64-unknown-linux-musl, bin /home/roku/.codex/packages/standalone/releases/0.147.0-x86_64-unknown-linux-musl/bin, resources /home/roku/.codex/packages/standalone/releases/0.147.0-x86_64-unknown-linux-musl/codex-resources, path /home/roku/.codex/packages/standalone/releases/0.147.0-x86_64-unknown-linux-musl/codex-path)",
        "platform": "linux-x86_64",
        "version": "0.147.0"
      },
      "remediation": null,
      "durationMs": 0
    },
    "runtime.search": {
      "id": "runtime.search",
      "category": "search",
      "status": "ok",
      "summary": "search is OK (bundled)",
      "details": {
        "search command": "/home/roku/.codex/packages/standalone/releases/0.147.0-x86_64-unknown-linux-musl/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": "/home/roku/.codex/tmp/arg0/codex-arg0vOvdQ0/codex-linux-sandbox",
        "execve wrapper helper": "/home/roku/.codex/tmp/arg0/codex-arg0vOvdQ0/codex-execve-wrapper",
        "filesystem sandbox": "unrestricted",
        "network sandbox": "enabled"
      },
      "remediation": null,
      "durationMs": 0
    },
    "state.paths": {
      "id": "state.paths",
      "category": "state",
      "status": "ok",
      "summary": "state paths and databases are inspectable",
      "details": {
        "CODEX_HOME": "/home/roku/.codex (dir)",
        "active rollout files": "2304 files, 3052739181 total bytes, 1324973 average bytes",
        "archived rollout files": "0 files, 0 total bytes, 0 average bytes",
        "goals DB": "/home/roku/.codex/goals_1.sqlite (file)",
        "goals DB integrity": "ok",
        "log DB": "/home/roku/.codex/logs_2.sqlite (file)",
        "log DB integrity": "ok",
        "log dir": "/home/roku/.codex/log (dir)",
        "memories DB": "/home/roku/.codex/memories_1.sqlite (file)",
        "memories DB integrity": "ok",
        "queue DB": "/home/roku/.codex/queue_1.sqlite (file)",
        "queue DB integrity": "ok",
        "sqlite home": "/home/roku/.codex (dir)",
        "standalone release cache": "52 entries in /home/roku/.codex/packages/standalone/releases",
        "state DB": "/home/roku/.codex/state_5.sqlite (file)",
        "state DB integrity": "ok",
        "thread history DB": "/home/roku/.codex/thread_history_1.sqlite (file)",
        "thread history DB integrity": "ok"
      },
      "remediation": null,
      "durationMs": 6643
    },
    "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": "10000",
        "rollout DB active rows": "20737",
        "rollout DB archive mismatches": "skipped (scan cap reached)",
        "rollout DB archived files": "0",
        "rollout DB archived rows": "145",
        "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=18994, openai-https=1887, openai_http=1",
        "rollout DB rows": "20882",
        "rollout DB scan cap reached": "true",
        "rollout DB scan errors": "0",
        "rollout DB sources": "subagent:thread_spawn=10373, exec=7584, cli=2109, subagent:other=638, vscode=164, subagent:review=14",
        "rollout DB stale rows": "skipped (scan cap reached)"
      },
      "issues": [
        {
          "severity": "warning",
          "cause": "rollout scan was incomplete or found bad files",
          "measured": "0 scan errors, 0 malformed names, scan cap reached: true",
          "expected": "rollout directories are fully scannable",
          "remedy": "Check file permissions and unexpected files under CODEX_HOME sessions.",
          "fields": []
        }
      ],
      "remediation": null,
      "durationMs": 13680
    },
    "system.environment": {
      "id": "system.environment",
      "category": "system",
      "status": "ok",
      "summary": "OS language C",
      "details": {
        "EDITOR": "set",
        "LANG": "C.UTF-8",
        "VISUAL": "set",
        "os": "Ubuntu 24.4.0 (noble) [64-bit]",
        "os language": "C",
        "os type": "Ubuntu",
        "os version": "24.4.0"
      },
      "remediation": null,
      "durationMs": 11
    },
    "terminal.env": {
      "id": "terminal.env",
      "category": "terminal",
      "status": "ok",
      "summary": "terminal metadata was detected",
      "details": {
        "COLORTERM": "truecolor",
        "DISPLAY": "present",
        "WAYLAND_DISPLAY": "present",
        "WSL_DISTRO_NAME": "present",
        "WSL_INTEROP": "present",
        "WT_SESSION": "present",
        "color output": "enabled",
        "effective locale": "C.UTF-8",
        "stderr is terminal": "true",
        "stdin is terminal": "true",
        "stdout is terminal": "true",
        "terminal": "Windows Terminal",
        "terminal size": "128x48"
      },
      "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": "codex-consultant-2026...",
        "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.146.1",
        "check for update on startup": "true",
        "last checked at": "2026-08-06T23:11:10.410288557Z",
        "latest version": "0.147.0",
        "latest version status": "current version is not older",
        "update action": "standalone installer",
        "version cache": "/home/roku/.codex/version.json"
      },
      "remediation": null,
      "durationMs": 174
    }
  }
}
roku@DESKTOP-U0GHMTQ:~/codex-consultant-20260517$

What issue are you seeing?

Despite having been coding according to the plan up until the very last moment, immediately after Compaction, no context remained at all.

• 回帰テストを先に変更し、現状の resolveAllowedPath が ~/file.txt を /workspace/~/file.txt とし
  て扱うため赤くなることを確認しました。次に共通解決関数だけを最小変更し、同じテストを緑にしま
  す。

• Edited src/roots.ts (+1 -1)
    43  export function resolveAllowedPath(inputPath: string, cwd: string, allowedRoots: string[
        ]): string {
    44 -  const absolutePath = resolve(cwd, inputPath);
    44 +  const absolutePath = resolve(cwd, expandHomePath(inputPath));
    45    return assertAllowedPath(absolutePath, allowedRoots);

• Ran npx tsx src/roots.test.ts
  └ (no output)

• Edited src/skills.test.ts (+16 -0)
     11  } from "./skills.js";
     12 +import { WorkspaceRegistry } from "./workspaces.js";
     13
        ⋮
    240
    241 +  const workspaceRegistry = new WorkspaceRegistry(config);
    242 +  const workspaceContext = await workspaceRegistry.openWorkspace(projectRoot);
    243 +  const globalSkill = workspaceContext.workspace.skills.find(
    244 +    (skill) => skill.name === "agent-global-skill",
    245 +  );
    246 +  assert.ok(globalSkill);
    247 +  const displayedSkillPath = formatPathForPrompt(globalSkill.filePath);
    248 +  assert.match(displayedSkillPath, /^~\//);
    249 +  const resolvedDisplayedSkill = workspaceRegistry.resolveReadPath(
    250 +    workspaceContext.workspace,
    251 +    displayedSkillPath,
    252 +  );
    253 +  assert.equal(resolvedDisplayedSkill.absolutePath, globalSkill.filePath);
    254 +  assert.deepEqual(resolvedDisplayedSkill.readRoots, [projectRoot, globalSkill.baseDir]
         );
    255 +
    256    const skillFileRead = resolveSkillReadPath(loaded.skills, new Set(), projectSkill.fil
         ePath);

• Ran npx tsx src/skills.test.ts
  └ (no output)

• Ran git diff --unified=30 -- docs/chatgpt-coding-workflow.md src/server.ts src/roots.ts src/
  │ roots.test.ts src/skills.test.ts
  └ diff --git a/docs/chatgpt-coding-workflow.md b/docs/chatgpt-coding-workflow.md
    index 6606262..54bb8df 100644
    … +740 lines (ctrl + t to view transcript)
       await rm(root, { recursive: true, force: true });
     }

• Edited 2 files (+9 -2)
  └ docs/chatgpt-coding-workflow.md (+7 -0)
    19
    20 +Workspace path arguments are relative to the opened workspace by default. A
    21 +leading `~` is expanded before containment checks, so paths such as
    22 +`~/.codex/skills/example/SKILL.md` can be reused when `open_workspace` advertises
    23 +them as skills. Paths outside the workspace remain unavailable to ordinary file,
    24 +search, and directory tools; only advertised skills and their activated files are
    25 +readable outside it.
    26 +
    27  Do not reopen the same folder unless:

  └ src/server.ts (+2 -2)
    925            config.skillsEnabled
    926 -            ? "If available skills were returned and a task matches one, read that skil
         l's path before proceeding. Skill paths may be outside the workspace; only advertised S
         KILL.md files and files under already-loaded skill directories are readable."
    926 +            ? "If available skills were returned and a task matches one, read that skil
         l's path before proceeding. Skill paths may be outside the workspace; only advertised S
         KILL.md files and files under already-loaded skill directories are readable. Leading ~
         in an advertised skill path is expanded to the user's home directory."
    927              : "",
        ⋮
    938              config.skillsEnabled
    939 -              ? "File path to read, relative to the workspace root. May also be an adve
         rtised skill path from open_workspace skills."
    939 +              ? "File path to read, relative to the workspace root. May also be an adve
         rtised skill path from open_workspace skills; leading ~ is expanded for those paths."
    940                : "File path to read, relative to the workspace root.",

• Ran npx tsx src/roots.test.ts
  └ (no output)

• Ran npx tsx src/skills.test.ts
  └ (no output)

• Ran npx tsx src/workspaces.test.ts
  └ (no output)

• Ran npx tsc -p tsconfig.json --noEmit
  └ (no output)

────────────────────────────────────────────────────────────────────────────────────────────────

• 中心修正とスキル経路の回帰テストは緑になり、型チェックも通過しました。次に全テストと差分監査を
  行い、問題がなければ build 前にログを退避して常駐サービスへ反映します。

• Waited for background terminal · npm test

• Ran npm test
  └ {"ts":"2026-08-07T05:54:40.076Z","level":"error","event":"process_uncaught_exception","error
    ":"uncaught boom","stack":"Error: uncaught boom\n    at <anonymous> (/tmp/
    … +25 lines (ctrl + t to view transcript)
    opencode, pi, cursor, or copilot: /tmp/devspace-agent-profiles-test-d8jkKV/
    project/.devspace/agents/custom.md

• Ran git diff --check && git diff --stat && git diff --unified=8 -- src/roots.ts src/
  │ roots.test.ts src/skills.test.ts src/server.ts docs/chatgpt-coding-workflow.md
  └  docs/chatgpt-coding-workflow.md |  9 +++++
     docs/configuration.md           | 11 ++++++
    … +412 lines (ctrl + t to view transcript)
       assert.equal(resolveSkillReadPath(loaded.skills, new Set(), resourcePath), undefined);
       assert.equal(

• Ran npm run build
  └
    > @waishnav/devspace@1.0.5 clean
    … +335 lines (ctrl + t to view transcript)
    https://rolldown.rs/reference/OutputOptions.codeSplitting
    - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.

• Context compacted

────────────────────────────────────────────────────────────────────────────────────────────────

• Understood. I’ll follow these DevSpace repository instructions and preserve the stated
  security, lifecycle, and verification boundaries.

─ Worked for 3m 04s ────────────────────────────────────────────────────────────────────────────


› Continue.


• What would you like me to continue with?

• Feedback uploaded. Please open an issue using the following URL:

  https://github.com/openai/codex/issues/new?template=3-cli.yml&steps=Uploaded%20thread:%20019fda50-2d5a-7232-a7bd-10786216dd07

  Or mention your thread ID 019fda50-2d5a-7232-a7bd-10786216dd07 in an existing issue.

What steps can reproduce the bug?

Uploaded thread: 019fda50-2d5a-7232-a7bd-10786216dd07

What is the expected behavior?

The post-compaction continuation should proceed as normal.

Additional information

No response

Activity

  1. added
    CLIIssues related to the Codex CLI
    contextIssues related to context management (including compaction)
    on Aug 7, 2026
  2. github-actions commented on Aug 7, 2026

    @github-actions
    Contributor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLIbugSomething isn't workingcontextIssues related to context management (including compaction)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions