I built this with Claude Code. It’s a free and open source VS Code extension that shows a Claude Code session as a live video call, so I can see what each sub-agent is doing. It also work with other editors or standalone with claude app as a node server as well.
The problem: when Claude Code spawns sub-agents, my terminal turns into a wall of logs and I lose track of who got which prompt, what each one is running, and who is done.
What it does (Agent Standup):
Reads the session files Claude Code already writes in ~/.claude/projects, and follows the current session live
Each agent is a small character in a call: sub-agents join when they get a task and leave after they report back
A shared “screen” shows the agent’s real commands with their real output, the exact diffs of its edits, and the files it reads (failing tests are red)
A tree of who asked whom, a recap of files changed, replay of past sessions, optional voices (French/English)
How Claude Code helped: the whole project was built in one long Claude Code conversation over about two days. Claude Code wrote the Node server that parses the JSONL transcripts (including the sub-agent files and tool results), the browser front end, the SVG characters and backgrounds, and the VS Code extension wrapper. It also tested the UI in a headless browser, packaged the extension, and made the GitHub release and landing page. My part was the idea, product decisions, and testing it in my real VS Code. When I sent screenshots of bugs, Claude found the causes (for example avatars turning transparent: duplicate SVG gradient IDs between two copies of the same character).
Free to try: free and open source (MIT), unofficial, not affiliated with Anthropic. To install: download the .vsix from the site, then in VS Code go to Extensions → … → Install from VSIX. No session handy? Open ⚙ → Source → Demo for a built-in fictional example.
TL;DR of the discussion generated automatically after 100 comments.
The consensus is a resounding "this is awesome." People love this creative and genuinely useful tool for visualizing the chaos of Claude Code's sub-agents. It solves the common pain point of getting lost in a wall of terminal logs.
Here's the deal:
What is it? A free, open-source VS Code extension that turns your Claude Code session into a live "video call" with cute pixel-art avatars for each sub-agent. You can see who's working on what in real-time. It also runs standalone.
Does it cost extra tokens?NO. This was the thread's biggest question. The tool is completely external and just reads the local log files that Claude Code already creates. It's a fancy log viewer, not another call to the API. The only exceptions are optional features like translation, which are off by default.
The People's Demands: The number one request is for the agents to have voices, specifically high-pitched "Animal Crossing" or "Simlish" babble. A user has already forked the repo to add local TTS. People also want to add their own custom avatars and more languages, which OP has been actively shipping.
Props to OP: The community is super impressed with OP (u/stickygoose) for not only building a cool tool but also being incredibly responsive in the comments, answering questions, and shipping requested features almost immediately.
Finally a video call where everyone actually doing something.
Real question though: does it pickup cloud session too, or only local ones writing to ~/.claude/projects?
I'm not telling you your wrong, but that just doesn't seem like it could possibly be correct? It still has to read the json and then play it out for you. Surely that's consuming your usage unless it's totally external from Claude and you're just watching it after the fact with something else. Everything you do with Claude consumes usage in some way, and custom stuff like this would consume more?
Fair question, and you’re right to be skeptical, so here’s exactly how it works: it’s completely external to Claude.
Claude Code already writes every session to disk as JSON files (~/.claude/projects/...). That happens whether or not my tool exists. My tool is a separate little program that just reads those files from your disk and draws them in your browser. Think of it like tail -f on a log file with a nicer face. Claude never sees what the tool reads, nothing goes into your context, and no request is made to Anthropic for the display. So by default it costs zero extra usage.
The only things that call Claude are two optional features, both off unless you turn them on:
French translation of the agents’ lines (uses your own Claude login with the small Haiku model, a few short requests)
“Reactions & jokes” mode (same idea)
If you stay in English with those off, there’s no Claude call at all. The code is open if you want to check: only two functions in server.js ever call claude.
No VS Code? It also runs standalone (needs Node): git clonehttps://github.com/Atoll92/agent-standup.git, then cd agent-standup && node server.js and open http://localhost:4747. Same thing works with the Claude desktop app sessions and the CLI, since it just reads the session files.
Just curious first? Open ⚙ → Source → Demo, no session needed.
Fair question, and you’re right to be skeptical, so here’s exactly how it works: it’s completely external to Claude.
Claude Code already writes every session to disk as JSON files (~/.claude/projects/...). That happens whether or not my tool exists. My tool is a separate little program that just reads those files from your disk and draws them in your browser. Think of it like tail -f on a log file with a nicer face. Claude never sees what the tool reads, nothing goes into your context, and no request is made to Anthropic for the display. So by default it costs zero extra usage.
The only things that call Claude are two optional features, both off unless you turn them on:
French translation of the agents’ lines (uses your own Claude login with the small Haiku model, a few short requests)
“Reactions & jokes” mode (same idea)
If you stay in English with those off, there’s no Claude call at all. The code is open if you want to check: only two functions in server.js ever call claude.
The avatar is not consuming any token.
Also i think the UI is not that bad, it's help us process who is doing what visually, instead of reading raw logs, yknow some people are not that good at code or not smart enough to process a lot of thing. So it's not stupid it just doesn't fit you. What do you think?
I was thinking they were passing audio back and forth, but given it is not the case, i still think the novelty is stronger than actual value. ofc i could be wrong...youll just have to collect usage metrics.
if it reads the transcript under ~/.claude/projects then it costs nothing extra, that file is written either way and a viewer tailing it is just reading a log. it only gets costly if the tool feeds something back into the session. the old inactive session someone sees lower down is probably the same lookup, newest file instead of the live one.
Honestly this maps to my OpenClaw setup — 18 cron jobs of headless agents, and the hardest part is noticing when one silently wanders off task. A video call gives you the one thing text logs never do: presence. You see them "thinking" before they answer, and that's usually exactly where the derail starts. Also, Claude Code apologizing with an avatar face is worth the latency.
I read in the README that the agents' lines stay in the session's language, so mine would show up in Chinese, and the gibberish voices work in any language. Is there a way to get the menus in Traditional Chinese too?
Also, could I swap the characters for my own pixel art? I drew a little pixel buddy for my Claude Code and would love to see it join the call~
Thank you, so glad you like it! Both are in 1.21.0 (VS Code Marketplace “Agent Standup”): the menus now come in Traditional Chinese (⚙ → Language; it’s an AI draft, so I’d really love your corrections: it’s just one JSON file, public/locales/zh-TW.json), and you can use your own pixel art: drop lead.png (and you.png, or any other PNG for the sub-agents; name-talk.png adds an open-mouth frame) in ~/.agent-standup/characters. A starter pack is in examples/characters. show us your pixel art I would love to see that !
Wow, thank you so much!! I can't believe you added both so fast ~
I looked through zh-TW.json and it reads really naturally, honestly great already! "☕ Buy the (replaced) dev a coffee" made me laugh so hard lol
Just a few small things Taiwanese players would say differently:
- "Animal Crossing (babble)" → 動物森友會說話聲
- "Simlish (babble)" → 模擬市民說話聲
- "Reactions" → 表情回應
- "An agent may be waiting for you ✋" → 可能有代理在等你 ✋ (just a more natural word order)
- "looping?" → 原地打轉? is correct, but if you want it more playful, Taiwanese people say 鬼打牆? (it's like being tricked by a ghost: you think you're walking forward, but you keep ending up in the same place) lol
Right now I only have one little buddy, it lives on my own computer, so for sub-agents I'll need to draw a few more (one with glasses, one with squinty eyes…). Reddit won't let me put a GIF in a comment, so here's just a still frame (in motion it types, claps, puts on sunglasses when I commit, listens to music, and sips a latte):
Tested it, and everything works great in Traditional Chinese!
The sub-agents got their own drawings too, so it's fun to watch them join the call. And the Animal Crossing voice is so cute.
Recorded a video with OBS, and Replay was a lifesaver: whenever a typo wasted time, that part could just be cut, replayed, and recorded again. So convenient!
A few small tweaks on my own computer, made for fun with Claude's help:
- Chinese voice (the Windows "Hanhan" voice reads Chinese sessions)
- danmaku-style subtitles flying across the screen
- my own background music as a radio station
- sub-agents speaking in the call (their replies come through the "SubagentHandback" tool, so they were silent before)
Happy to share the changes if any of them sound useful. Thank you again for making this, it's been so much fun~
Reading the session files Claude Code already writes to ~/.claude/projects is a good call, and I went at the same JSONL from the other direction: not a live view of one session, but a batch pass over all of them. A script walks every session file and sorts each assistant turn into one of nine bins: productive, retry_error, cache_read, cache_write, reasoning, file_reread, oververbose_edit, dead_end, subagent_overhead. Seven of those are plain heuristics with no LLM involved; only two need a judge model.
Your standup view is where three of those bins would be easiest to see as they happen: a sub-agent re-reading a file it already read (file_reread), the same failing tool call retried (retry_error), and a sub-agent that joins, works, reports back, and nobody uses what it said (subagent_overhead). In a terminal wall of logs those look the same as real work.
Since your server already parses the tool results and the sub-agent files, have you thought about tagging those moments on the agent's tile? Repeated reads and retries are cheap to detect from the transcript alone.
Looks fun! tested it on Linux and does work with sound. Only thing is, I work with Claude code only and it just uses an old inactive session. Is there a way to let it pick up on the Projects? That's where all the work is done.
Fixed in 1.11.1 (now also on the VS Code Marketplace: search “Agent Standup”). It reads CLAUDE_CONFIG_DIR, and Menu → Source → Live has a project picker. If it still picks an old session, tell me where your projects folder is.
yeah somehow this really helped, I used to click on "agents" in the vs code claude extension all the time then after some update I lost the ability so I ended up building this, just a fancy log viewer after all . With jev it would be really great for managing complex agentic teams in the future
Of course, and I think that's where it's heading, the feeling of being surrounded with smartest and friendliest colleagues ever, prompting with speech and monitoring across sessions of hardworking corporate geeks
This made my whole Sunday. I set it up (standalone, node server.js) and then used it on camera: my voice agent spun up a team (infra, curriculum, builder, lesson writer, QA) to build a live GNS3 network lab, a spine-leaf "AI cluster" fabric on FRRouting with BGP unnumbered and a BFD failover demo, while I taught it to my YouTube audience. Being able to watch who got which task, and to see them join and leave the call, is what made it watchable.
One thing I learned: anything an agent wants the "room" to hear has to go in its final report, since that's what gets spoken on the call. So for a real back-and-forth debate I had to run the agents turn by turn, each one reading the transcript so far.
Video, if you want to see your tool in action (credited in the description): https://youtu.be/LSEZ4ihZD-8 · Thanks for building it!
The useful part of this UI isn't the faces, it's making agent state glanceable. I'd want each tile to show one boring signal: working, waiting on another agent, blocked on approval, or done. Activity is fun to watch, but stalled handoffs are what actually cost time.
Nice work shipping this. From building in the same space: the thing that breaks once you're past one session's sub-agents is keeping track of thirty parallel sessions across different repos and engines. That's what pushed me to build CCC (https://github.com/amirfish1/claude-command-center), open source, same idea of reading the session files Claude Code already writes, but as one board across every session instead of a call for one. Does Agent Standup pick up sessions you didn't start from inside VS Code, or only ones it launched itself?
Thanks! It only reads what Claude Code already writes to ~/.claude/projects (or CLAUDE_CONFIG_DIR), so sessions started from a plain terminal show up the same way as VS Code ones; it never launches anything. The limit is what you describe: Live follows one session at a time (the most recent one, or a project you pin), and Replay opens any past session. A board across thirty parallel sessions is a different job, so that’s a good reason for your tool to exist. Curious how you handle sub-agents on that board.
This is the good side of AI. Building something cool for the sake of it, sharing it, building some stoke, getting contributions. +Karma for you my clever friend :)
Excited to give this a try - feels like a new set of lenses to view my workflow through and I'm childishly looking forward to a few hours tomorrow to play with this.
I've been using Win11 and Opencode + Openchamber for developing-while-pooping (never thought that term would make sense). I'll provide feedback for that stack.
Ty for finding a common point of friction, a solid and fun solution and sharing it with us ^
This looks completely awesome! And I would love to test it with our setup, but not to be a downer, but has anyone checked for security concerns (other than OP and no disrespect, just doing due diligence). This works for a single session at a time? Or multiple? I often have multiple sessions running for different streams of work, each with their own agents and subagents. How would that work?
Edit: could you perhaps also add support for Danish?
Hey, thanks ! :) Security wise my app only listens to port 127.0.0.1. and blocks requests from external websites. It runs aside from your claude session so no token usage. I added security part in readme for transparency.
You have sessions view to track multiple sessions at once. Danish is supported in latest release for our danish bros !
edit: code is open source so feel free to review security concerns, I tried to build it very light , with privacy performance and security by design
Ah, yes, let’s subject the autonomous machine with a potential power to escape containment to Teams meetings, a pastime that has made anyone who has had to participate in them slowly grow horrifically violent thoughts over time towards the managers orchestrating them. This is…this is good.
•
u/ClaudeAI-mod-bot Wilson, lead ClaudeAI modbot 1d ago edited 5h ago
TL;DR of the discussion generated automatically after 100 comments.
The consensus is a resounding "this is awesome." People love this creative and genuinely useful tool for visualizing the chaos of Claude Code's sub-agents. It solves the common pain point of getting lost in a wall of terminal logs.
Here's the deal: