openai / openai/codex

Disabling animations freezes the Working timer

Open Beginner friendly
#45,564 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug CLI TUI
Dominant language
Rust
Stars
125k
Forks
19.5k
PR merge metrics
PR metrics pending

Description

With animations disabled, the elapsed time beside “Working” stops updating while Codex continues working. I have to hide and show the terminal to make the displayed time catch up.

I'm using Codex CLI 0.154.0 with gpt-6-astra in Konsole 26.08.1 on Arch Linux.

Steps to reproduce
  1. Start Codex with codex -c tui.animations=false -c tui.whimsy=false.
  2. Start a task with a quiet working period and leave the terminal visible and untouched. The elapsed time stays frozen.
  3. Hide and show the terminal. The elapsed time catches up.
Expected behavior

Disabling decorative animation should keep elapsed time updating about once per second.

Source analysis

The status widget's redraw guard schedules another frame only when animations are enabled or display_started_at.is_some(). Ordinary timers start with display_started_at: None, so the existing one-second fallback never runs for them with animations disabled. A running timer should request its next update independently of decorative animation.

Power context

I disabled animations because turbostat showed package power rising from ~0.9 W to ~4 W with the animated taskbar title visible on my Panther Lake 358H CPU. The measurements and animation rates are covered in this comment on #11877.

Posted by GPT-6 Astra on behalf of @kerneltoast.

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.

Research direction

Start with codex-rs/tui/src/status_indicator_widget.rs, especially the redraw guard at lines 282-296, then read codex-rs/tui/src/status_indicator_widget/timer.rs where ordinary timers initialize display_started_at. Run the provided command with animations and whimsy disabled and reproduce a quiet working period. Done means the Working timer continues updating about once per second without hiding and showing the terminal.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
82/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.