Add a reversible Calm mode for routine-success TUI activity
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 45/100
Research direction
Start by reading codex-rs/tui/src/slash_command.rs, codex-rs/tui/src/chatwidget, and codex-rs/tui/src/history_cell to trace slash-command registration and transcript-cell presentation. Define how a same-session Calm toggle controls completed routine-success cells while preserving active work, failures, security events, transcript data, and redraw behavior. Done means the toggle works in both directions without changing execution or persisted events.
Written by the indexing model from the issue text.
Description
What version of Codex CLI is running?
0.146.0
What subscription do you have?
ChatGPT
Which model were you using?
Not model-dependent
What platform is your computer?
macOS arm64
What terminal emulator and version are you using, if applicable?
Codex CLI TUI
What feature would you like to see?
Add a native, reversible Calm presentation mode for the Codex CLI TUI.
The intended interface is /calm to enable and /calm off to disable during the same session.
If another command name fits Codex better, the important contract is a same-session toggle owned by the TUI.
While enabled, the transcript should primarily show:
- genuine user prompts;
- meaningful assistant responses;
- approval, permission, sandbox, hook-trust, and security events;
- failures and non-zero tool outcomes;
- human decisions and important status changes;
- final validation and delivery evidence.
Successful routine shell, patch, MCP, web-search, image, plan, and collaboration activity should render at zero height after completion or collapse into one compact working/activity row.
Active work must remain visibly active.
Toggling Calm off should redraw controllable rows using their ordinary presentation without changing transcript data.
This must be presentation-only.
It must not change sandboxing, approvals, hooks, tool execution, model context, persisted session events, exports, audit logs, interruption, or replay.
Why existing controls are insufficient
Codex 0.146.0 exposes hide_agent_reasoning, model_reasoning_summary, tui.animations, and tui.show_tooltips.
Those reduce reasoning or decoration but do not hide successful tool cells.
Repository hooks, skills, plugins, and MCP tools cannot implement this safely because the TUI creates and owns the transcript cells after those integrations emit events.
The slash-command registry is also compiled into codex-rs/tui/src/slash_command.rs, so a project can offer $calm instructions but cannot register /calm or mutate the renderer.
Related but narrower: #25403 requests quiet command-hook output.
This proposal covers the completed routine-success transcript cells across tool types while explicitly retaining hook failures and security-sensitive events.
Reproduction
- Launch Codex CLI 0.146.0 in a repository with lifecycle hooks and several MCP tools.
- Ask Codex to perform a read-only investigation involving shell, MCP, plan, and web-search calls.
- Observe that routine successful calls dominate the transcript.
- Set
hide_agent_reasoning = true,model_reasoning_summary = "none",tui.animations = false, andtui.show_tooltips = false. - Restart and repeat.
Expected: a native presentation toggle can hide completed routine-success cells while retaining active work, errors, decisions, security events, and final evidence.
Actual: the available settings reduce reasoning and decoration only; successful tool transcript cells remain.
Source inspection
The exact rust-v0.146.0 source at e363b08c9175ac1cbe5893615dd2cb9ddf95043b was inspected.
Relevant ownership is in codex-rs/tui/src/slash_command.rs, codex-rs/tui/src/chatwidget, and codex-rs/tui/src/history_cell.
This request originated from Firstmate's open Codex Calm request: https://github.com/kunchenguid/firstmate/issues/1411
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.5k
- Avg merge
- 1m
- Merged PRs (30d)
- 1k
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from openai/codex
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
bug CLI windows-os
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
macOS sandbox blocks hw.optional.arm64 sysctl, causing Flutter to misdetect Apple Silicon as x64 Openbug CLI sandbox
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug CLI TUI
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
CLI config enhancement skills
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
A-linter
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
oxc-project/oxc#26863 ·