Per-branch state files missing in Codex CLI 0.53.0

Resolved 💬 2 comments Opened Nov 1, 2025 by whizzrd Closed Jan 27, 2026

What version of Codex is running?

codex-cli 0.53.0 (/opt/homebrew/bin/codex)

What subscription do you have?

plus

Which model were you using?

GPT-5

What platform is your computer?

Darwin 25.0.0 arm64 arm

What issue are you seeing?

Per-branch state files missing in Codex CLI 0.53.0
History persistence rejects per-branch with “unknown variant per-branch”.
Codex can't submit it's own feedback reports

  • Running codex feedback fails in this environment (stdout is not a terminal), even when wrapping with

script
-q /dev/null
(fails to acquire PTY: Operation not permitted).

Environment

  • codex-cli 0.53.0 (/opt/homebrew/bin/codex)
  • macOS 26.0 (Darwin 25.0.0 arm64)
  • Repo: ~/helm (branch feature/bootstrap-table)
  • .envrc:

export CODEX_HOME="$PWD/.codex"
unset CODEX_SANDBOX
unset CODEX_SANDBOX_NETWORK_DISABLED

  • .codex/config.toml:

[state] persistence = "per-branch"
[history] persistence = "per-branch"
[sandbox] restricted = false
[sandbox.binaries.allow] includes /opt/homebrew/bin/{php,composer,npm,npx}, node_modules/.bin/
{vite,concurrently}, vendor/bin/phpunit, /bin/ps, /usr/bin/script

What steps can reproduce the bug?

Uploaded thread: 019a3e25-7242-7c31- 9e84-5f2cd79662bb

Steps

  1. Ensure .codex/state is empty and config uses state.persistence = "per-branch".
  2. Start a Codex CLI session inside the repo.
  3. Inspect .codex/; only history, sessions, log files exist—no branch-specific state.
  4. find .codex -maxdepth 3 -type f -name '*state*' returns nothing.

What is the expected behavior?

Expected: .codex/state/<branch>.json should be created.
Actual: No per-branch state files; behavior remains global/shared state.

Additional information

Notes

  • History persistence rejects per-branch with “unknown variant per-branch”.
  • Running codex feedback fails in this environment (stdout is not a terminal), even when wrapping with

script
-q /dev/null
(fails to acquire PTY: Operation not permitted).

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗