Claude Code Progress Bar: What task-progress-mod v0.2 Adds
See how task-progress-mod v0.2 summarizes Claude Code tool output beside a live progress bar. Learn how it works, how to install it, and where it fits.

A Progress Bar Is Useful. Knowing What Just Happened Is Better.
A coding agent can be busy and still leave you guessing what's actually going on. Claude Code may be working through a TodoWrite list, but the details that matter often get buried in long tool outputs - test logs with hundreds of lines, a big JSON response, or a diff that's mostly lockfile churn. Reading everything takes time. Relying only on a progress indicator can leave you without what you need to supervise the work.
task-progress-mod v0.2 is a small Claude Code Mod built to close that gap. It keeps a live progress bar above the prompt, and it adds a one-line summary of the latest tool result underneath. The earlier version showed where the agent was in its task. This release adds a compact view of what just happened.
This article covers the problem it addresses, how its summaries work, how to try the Mod, and what to think about before you fold it into your workflow. The question isn't whether a one-line summary can replace a tool log. It can't. The real question is whether it helps you spot the useful signals sooner.
Why agent progress can be hard to supervise
A task list gives you a rough outline of what the agent intends to do. It doesn't always tell you whether the last operation succeeded, what changed, or whether the agent has started wandering into something unexpected.
That matters in longer coding sessions. An agent might run tests, inspect files, update a dependency, or generate structured output. Each step can produce more text than you need to make the next decision: keep going, investigate, or step in.
The signal is often buried in the output
Take a test command that prints hundreds of passing cases and then only at the end reports two failures. The full output is useful when you need to debug, but for the first question - did the run pass? - most of it is noise.
You see the same pattern in other places, too:
- Build and test logs: They can repeat the routine "all good" messages while the failure details land at the end.
- Large JSON responses: They may contain hundreds of records when you mostly care about status, totals, and the overall shape.
- Diffs: They can be dominated by repetitive edits, including lockfile churn that hides a small source-code change.
- Short command results: They might already be concise, but they still add another chunk of transcript you have to skim.
The problem isn't that detailed output is useless. It's that "detailed output for debugging" and "quick signal for supervision" are different jobs. You want the full log when you're investigating; you want a short status when you're deciding whether to investigate in the first place.
A task indicator is not an outcome indicator
A progress bar can tell you the agent is moving through a plan. It can't, by itself, tell you what the last tool actually returned. If the agent marks one todo done after an unsuccessful command, the task list and the command result may tell different stories.
A human can catch that by reading the transcript - but the effort grows fast with tool-call volume. Doing that once or twice is manageable. Doing it dozens of times during a larger task becomes its own monitoring job.
That's what task-progress-mod v0.2 tries to fix. It doesn't "guarantee correctness," and it doesn't remove the need to review changes. The goal is simpler: make it cheaper to see the immediate state of the work.
What task-progress-mod v0.2 adds
task-progress-mod is described by its creator as a small, dependency-free Claude Code Mod written in plain JavaScript. Version 0.2 hooks into tool.result, summarizes the output, and prints the summary under the progress bar.
You end up with two pieces of information together: where the agent is in its TodoWrite list, and a compact description of the most recent tool output. The project's sample display looks like this:
██████░░░░ 60% · step 3/5 · Writing tests...
⏷ Bash · 214 passed, 2 failed - tests/test_thing.py::test_edge_a FAILED
The first line gives plan context. The second tells you which tool just ran and surfaces the kind of result you might need to pay attention to. If the summary points to a problem - or leaves an important detail unclear - you can open the full output.
How the summarizer handles different output
The summarizer uses heuristics instead of trying to reproduce every part of a tool result. Per the project description, it handles several common shapes:
- Test and build logs: It reports failure details and pass counts. If something fails, you may see the first failure; if everything is green, you may see how many passed.
- JSON output: It shows a skeleton rather than the full payload. A response with many records might be represented by status, an abbreviated results field, and a total count.
- Diffs: It summarizes changes per file, including additions and deletions, and it can collapse lockfile noise into a count.
- Short output: It prints the content as-is on a single line.
The design choice here is fairly clear: keep a few orientation signals and skip the rest. The line is labeled with the tool name and is meant to match the most recent tool output, so you can connect the summary to what produced it.
Why "fail-open" is a meaningful design choice
The project describes the summarizer as heuristic and fail-open. That's a reasonable approach for a UI layer: if a result doesn't match a known pattern, the safest fallback is to show it in one line rather than block the underlying interaction with a bad or missing summary.
There's a trade-off, though. Heuristics aren't a substitute for full parsing with semantic understanding. A summary can omit context, miss an unusual format, or compress information that actually matters.
So treat the summary as an index into the latest tool activity, not a replacement for inspection. When the command is important, when the summary reports failure, or when the result affects behavior you care about, you still need to look at the full output (and the relevant files) before the agent moves on.
The summary can help reveal plan drift
Because the line always reflects the latest tool output, it can also act as a lightweight "deviation" signal. For example, if the current todo says the agent is writing tests, but the last tool summary indicates unrelated file changes - or a command that doesn't obviously connect - you've got a reason to look closer before the next todo update.
This isn't an automated plan validator. The Mod doesn't decide whether an action is appropriate, and sometimes a seemingly unrelated command is exactly what you need. The practical benefit is the shorter feedback loop: you can spot a mismatch without reading a long transcript from top to bottom.
How to install it and evaluate the fit
The source instructions say task-progress-mod requires Claude Code v2.1.287 or later, with Mods support. The installation command provided by the project is:
/plugin install ./task-progress-mod
The path shown is local, so it assumes you have the project in the expected location. Check your Claude Code setup and the current project instructions before you rely on that exact path. Compatibility and installation behavior can change as the host application evolves.
The project also reports 63 smoke tests, a mocked engine, and zero dependencies. Its test command is:
node tests/test_mod.js
You can review the task-progress-mod repository for the implementation, tests, and setup details. The source write-up is on DEV Community. The project is licensed under MIT, according to the supplied source information.
A practical way to trial it
Instead of judging it based on one tidy test run, try it on a small task that produces a mix of output. For example: ask an agent to inspect a codebase, make a contained change, and run the relevant tests. While you use it, compare the display against a few practical questions:
- Can you tell what the agent just did? The tool label should help you connect the summary to the action.
- Does the summary surface outcomes that change your next decision? A pass count, failure name, or file-level diff might be enough to decide whether you need to dig deeper.
- Does it make plan drift easier to spot? Compare the latest tool result with the current todo - without treating every mismatch as an automatic error.
- Do you still know when to open the full output? The summary should reduce routine scanning, not discourage investigation when it matters.
- Does it stay useful with your project's actual commands? Output formats vary. Test with what your team really runs rather than assuming every log matches the examples.
This trial is more useful than asking whether the interface looks cleaner. The real question is whether the extra signal changes how quickly you can supervise the work - without hiding evidence you still need.
Where it fits - and where it does not
The Mod is most helpful when you're supervising agent work across a long sequence of tool calls and you want a quick read on the latest result. It may matter less for short tasks, workflows where you already open everything immediately, or teams that require full structured reporting instead of a compact visual cue.
It also doesn't replace code review, test verification, or security review. A line saying that tests passed doesn't prove the tests cover the right behavior. A short diff summary doesn't tell you whether a change is correct. And a JSON skeleton can omit a record that matters for your specific scenario.
A sensible division of responsibility looks like this:
- Use the progress bar and summary to stay oriented while work is running.
- Use the full output and repository state to verify important results.
- Use your normal review process before merging or deploying changes.
That's the feature's proper role: a human-facing observability aid, not a correctness layer.
Conclusion
The useful idea in task-progress-mod v0.2 isn't that tool output can be reduced to a perfect one-line explanation. It's that progress and recent outcomes belong together when you're supervising an agent. The progress bar tells you where the agent is; the summary tells you what its most recent tool call returned.
This helps in workflows where routine logs make it harder to spot failures, changes, or potential drift. It's still a heuristic, and full output still matters when correctness is on the line. Try it on a representative task, compare the summary with the underlying results, and keep it if it speeds up supervision without weakening your review. Start with the project repository and verify the installation requirements for your Claude Code version.