codexresume 0.1.1

A TUI wrapper around `codex resume` that shows local sessions across providers
codexresume-0.1.1 is not a library.

codexresume

English | 简体中文

Why this exists

Current codex resume can be affected by provider, source, cwd, and other factors, which can make some sessions disappear from the history picker. This tool works around that by reading local session metadata directly, while trying to keep an experience close to the stock codex resume flow. You can use it as a drop-in replacement for codex resume.

Features

  • Lists sessions across all providers by default (no default-provider filtering)
  • Optional --only-openai flag for the built-in OpenAI provider
  • Supports the common codex resume flags (--last, --all, --include-non-interactive)

After you pick a session and press Enter, it execs:

codex resume <SESSION_ID> <all forwarded args>

Installation

Install from crates.io:

cargo install codexresume

Or clone and install from source:

git clone https://github.com/daquexian/codexresume
cd codexresume
cargo install --path .

Usage

If installed, run it directly:

codexresume --last
codexresume --yolo
codexresume --only-openai --yolo
codexresume --all
codexresume --include-non-interactive
codexresume --codex-home ~/.codex --sqlite-home ~/.codex --yolo
codexresume -C /path/to/project --model gpt-5.4
codexresume --dangerously-bypass-approvals-and-sandbox

Notes

  • --only-openai is a codexresume flag. It is consumed by the wrapper and is not forwarded to codex resume.
  • --include-archived, --codex-home, and --sqlite-home are codexresume flags. They are consumed by the wrapper and are not forwarded to codex resume.
  • codexresume tries to stay close to the stock codex resume experience, but it does not directly reuse Codex's internal UI components, so it is not pixel-identical.
  • codexresume does not depend on Codex Rust crates. It reads config.toml, session_index.jsonl, and state_*.sqlite directly.
  • If you pass --remote, codexresume will pass through to the stock codex resume implementation (remote sessions are not discoverable locally).
  • If session names are available in the session index, codexresume will try to surface them.

To make codex resume use codexresume automatically, add this to ~/.bashrc or ~/.zshrc:

codex() {
  if [ "$1" = "resume" ]; then shift; command codexresume "$@"; else command codex "$@"; fi
}