Live-updating progress bar in chat UI for response/task progress
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
When Claude Code is working through a multi-step task — editing files, running tests, executing shell commands — there is no single indicator showing overall progress. Output
is appended line by line, so to understand how far along a task is, I have to scroll through streamed text and mentally track which steps are done. This is especially painful
for long-running tasks where I just want a quick at-a-glance status.
Proposed Solution
A persistent progress bar anchored at the bottom of the active response that updates in place as each step completes. It should:
- Show the current step label (e.g. "running tests...")
- Fill progressively as real steps finish (not a fake animation)
- Disappear or show "done" when the task is complete
The bar should only reflect real work — not estimated or simulated progress.
Alternative Solutions
Currently Claude appends a new progress line after each step completes (e.g. ▰▰▰▱ running tests...). This works but clutters the output and requires reading through all lines
to find current status. There is no way to update a line in place in the current append-only chat UI.
Priority
High - Significant impact on productivity
Feature Category
Interactive mode (TUI)
Use Case Example
- I ask Claude to refactor a module, run tests, and commit the result.
- Claude starts working — reading files, editing, running the test suite.
- Instead of scrolling through 30 lines of streamed output, I glance at the bottom of the response and see: ▰▰▰▱ running tests... (step 3/4)
- When it finishes: ▰▰▰▰ done
- I immediately know the task is complete without reading anything.
Additional Context
Additional Context
Similar features in other tools:
- GitHub Copilot Workspace shows a live step-by-step task tracker that updates in place as each action completes
- Cursor AI shows a live file diff panel that updates as edits are applied
- Terminal tools like npm install and cargo build use \r / ANSI escape codes to rewrite a single progress line in place rather than appending new lines
Live status mockup:
┌─────────────────────────────────────────┐
│ Claude is working... │
│ │
│ ✓ Reading files │
│ ✓ Analysing changes │
│ ⠋ Running tests... │
│ ▱ Committing │
│ │
│ ▰▰▰▱▱ 60% — step 3 of 5 │
└─────────────────────────────────────────┘
Updates live as each step completes — no new lines appended, no scrolling required.
Technical considerations:
- CLI output is append-only so this is only feasible in the desktop/web app UI layer
- Progress data (current step, total steps) is already available during task execution — it just needs a UI surface to render it live
- Could be opt-in via a setting for users who prefer clean streamed output
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗