An opinionated Codex CLI. This is strictly a personal hobby project, forked from openai/codex.
Build from source:
cd codex-rs cargo run --bin codexWe will never merge code from the upstream repo; instead, we re-implement our changes on top of the latest upstream code.
Iteration flow (aligned with .agents/skills/codex-upstream-reapply):
flowchart TD A[Freeze old branch: commit changes + intent docs] --> B[Fetch upstream tags] B --> C[Pick tag + create new branch from tag] C --> D[Generate reimplementation bundle] D --> E[Read old branch + bundle for intent] E --> F[Re-implement changes on new branch] F --> G[Sanity check diffs vs tag] G --> H[Force-push to fork main] Important
DO NOT USE IN PRODUCTION. To keep upstream sync easy, we do not write test code for what we changed. This project is for experimental use only.
- DX Focused: Focus strictly on optimizing developer experience, without adding new features.
- Upstream Sync: We sync with the upstream repository regularly.
- Added a TUI status header with model/effort, cwd, git summary, and rate-limit status.
- Collaboration mode presets now accept per-mode overrides and default to the active
/modelsettings. - TUI watches
auth.jsonfor external login changes and reloads auth automatically (with a warning on account switch). - AGENTS.md/project-doc instructions are refreshed on each new user turn, and Codex shows an explicit warning when a refresh is applied.
- Full change log: see CHANGED.md.
- DO NOT update any test codes
- After making code changes, verify the CLI still launches:
cd ./codex-rs cargo run --bin codex# config.toml [collaboration_modes.plan] model = "gpt-5.4" reasoning_effort = "xhigh" [collaboration_modes.code] model = "gpt-5.4"When syncing to the latest upstream codex version, use .agents/skills/codex-upstream-reapply to re-implement our custom requirements on top of the newest code, avoiding merge conflicts from the old branch history.
Example:
$codex-upstream-reapply old_branch feat/rust-v0.94.0, new origin tag: rust-v0.98.0 Status bar design reference: https://linux.do/t/topic/1481797
