Someone asked how I built the dynamic footer in Codex, so here it is.
No plugin. No shell loop. No patched binary. Codex has a native TUI status line, and it takes an ordered list of live fields from ~/.codex/config.toml.
I wanted three things visible at all times:
- Which model and reasoning level am I actually running?
- How much context and quota do I have left?
- What is the exact thread ID if I need to resume this session?
That last one matters more than it sounds. Long agent runs get interrupted. Terminals close. Context gets compacted. A visible thread ID turns recovery into one command instead of an archaeology project.
Open ~/.codex/config.toml and add this:
[tui]
status_line = ["model-with-reasoning", "context-remaining", "used-tokens", "total-input-tokens", "total-output-tokens", "current-dir", "git-branch", "five-hour-limit", "weekly-limit", "thread-id"]Restart Codex. The footer updates as the session changes.
The order in the array is the order on screen. Mine reads left to right like an instrument panel:
| Item | What it gives me |
|---|---|
model-with-reasoning |
Active model plus reasoning effort |
context-remaining |
Remaining context window |
used-tokens |
Tokens used in the current thread |
total-input-tokens |
Cumulative input tokens |
total-output-tokens |
Cumulative output tokens |
current-dir |
Current working directory |
git-branch |
Active Git branch |
five-hour-limit |
Short-window usage limit |
weekly-limit |
Weekly usage limit |
thread-id |
Exact resumable session UUID |
If that is too dense, start here:
[tui]
status_line = ["model-with-reasoning", "context-remaining", "current-dir", "git-branch", "thread-id"]Copy the UUID shown by thread-id, then run:
codex resume <SESSION_ID>Codex also supports codex resume --last, but I prefer the explicit ID. --last assumes the newest thread is the one I want. That assumption gets bad fast when several sessions or subagents are active.
Codex can reject unknown config fields in strict mode, and Doctor checks the loaded config plus the rest of the local install:
codex --strict-config doctorOn my current install, Codex CLI 0.144.1, the full status line above loads cleanly.
OpenAI's config reference defines tui.status_line as an ordered array of footer item identifiers. Set it to null if you want to disable the footer entirely: Codex Configuration Reference
That is the whole modification. Ten strings in TOML. The thread ID is the part that changed the workflow.
If you run Codex for anything longer than a quick edit, put thread-id in the footer. Future you will use it.