How to Track Todo Progress in Claude Code with Claude HUD Statusline
When Claude Code works on complex tasks, it uses the TodoWrite tool to track progress. But checking the conversation to see what’s happening gets tedious quickly. I wanted a way to see task progress at a glance without scrolling through transcript logs.
That’s where Claude HUD’s todo progress display comes in — it shows the current in-progress task and completion count right in the statusline.
The Problem: Hidden Progress
I’ve been using Claude Code for multi-step implementations. When Claude breaks down a feature into tasks, it writes them to TodoWrite. But that information lives in the conversation. To see progress, I had to:
- Scroll back through the transcript
- Find the last
TodoWritecall - Parse the todo list mentally
Not ideal when Claude is running autonomously and I just want to check status.
Enabling Todo Progress
I found the setting in Claude HUD’s configuration. Run the configure command:
/claude-hud:configureThen select “Agents & Todos” to enable the display. Alternatively, edit the config directly:
{ "display": { "showTodos": true }}Once enabled, the statusline shows progress in real-time.
What It Looks Like
When a task is in progress, I see something like:
▸ Fix authentication bug (2/5)The arrow (▸) marks the current in-progress task. The numbers show completed count over total count. As tasks complete, the count updates automatically.
Another example:
▸ Implement user registration (3/8)The display updates as Claude works through tasks — when it completes one, the count increments and the next task becomes the active one.
How It Works Under the Hood
Claude HUD parses the transcript JSONL file for TodoWrite tool calls. The todo items have three possible statuses:
export interface TodoItem { content: string; status: 'pending' | 'in_progress' | 'completed';}The HUD extracts these items, counts completed vs total, and finds whichever task has in_progress status to display as the current item.
Why This Matters
Complex tasks often involve 5, 10, or more steps. Without visibility, I had no quick way to know:
- Is Claude still working or waiting for input?
- How far along is the task?
- What’s the current step?
The todo progress display answers all three questions in a single line. I can glance at the statusline and know exactly where things stand.
Using TodoWrite Effectively
Claude uses TodoWrite for structured task tracking. Here’s what a typical call looks like:
TodoWrite({ todos: [ { content: "Fix authentication bug", status: "completed" }, { content: "Add unit tests", status: "in_progress" }, { content: "Update documentation", status: "pending" } ]})When I prompt Claude to break down complex work, it creates these structured todo lists. The HUD then surfaces this information in the statusline.
Quick Summary
Todo progress in Claude HUD gives me visibility into multi-step task completion without leaving the conversation. Enable it via /claude-hud:configure and selecting “Agents & Todos”. The display shows the current in-progress task with a completion count, updating in real-time as work progresses.
Final Words + More Resources
My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me
Here are also the most important links from this article along with some further resources that will help you in this scope:
Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!
Comments