Add a reversible Calm mode for routine-success TUI activity

Open
#37,227 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
rust
Domain
cli

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

CLI enhancement TUI
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
  1. Launch Codex CLI 0.146.0 in a repository with lifecycle hooks and several MCP tools.
  2. Ask Codex to perform a read-only investigation involving shell, MCP, plan, and web-search calls.
  3. Observe that routine successful calls dominate the transcript.
  4. Set hide_agent_reasoning = true, model_reasoning_summary = "none", tui.animations = false, and tui.show_tooltips = false.
  5. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.