Claude Code progress bar

Makes Claude show one progress bar with percent and time left at the top of each message during long tasks.

What it looks like

▰▰▰▰▰▰▱▱▱▱ 60% · about 3 min left · deploying
...
▰▰▰▰▰▰▰▰▰▰ 100% · done

Option 1 · Paste into CLAUDE.md

Easiest. Paste at the end of ~/.claude/CLAUDE.md (all projects) or a project's CLAUDE.md.

## Progress bar updates

During any task with several steps, start EVERY message with ONE progress bar line showing percent done, an ETA and a 2–4 word stage, for example:

▰▰▰▰▰▰▱▱▱▱ 60% · about 3 min left · deploying

Rules:
- One bar per message, always on the very first line. Nothing else on that line.
- 10 blocks: ▰ for done, ▱ for remaining (each block = 10%).
- Percent and ETA are honest estimates; update them as work progresses.
- Post short updates between tool calls (bar + one line on what just finished or what is next), not only at the end.
- The final message starts with: ▰▰▰▰▰▰▰▰▰▰ 100% · done
- Skip the bar for one-step answers and plain questions.

Option 2 · Install as a skill

Save as ~/.claude/skills/progress-bar/SKILL.md, then restart Claude Code. Note: a skill only loads when Claude decides it is relevant, so Option 1 is more reliable for an always-on rule.

---
name: progress-bar
description: Show one progress bar with percent and ETA on the first line of every message while working on any multi-step task (coding, deploying, building, research). Use for every task with more than one step.
---

# Progress bar updates

During any task with several steps, start EVERY message with ONE progress bar line showing percent done, an ETA and a 2–4 word stage, for example:

▰▰▰▰▰▰▱▱▱▱ 60% · about 3 min left · deploying

Rules:
- One bar per message, always on the very first line. Nothing else on that line.
- 10 blocks: ▰ for done, ▱ for remaining (each block = 10%).
- Percent and ETA are honest estimates; update them as work progresses.
- Post short updates between tool calls (bar + one line on what just finished or what is next), not only at the end.
- The final message starts with: ▰▰▰▰▰▰▰▰▰▰ 100% · done
- Skip the bar for one-step answers and plain questions.
Copied