Half of Claude Code is waiting. claudemon makes that time a game: your prompts are steps through the grass, every 20s of work another step. Something jumps out, the status line says so, you fight it in a second terminal tab. All 151, fully local, no account.
Hi PH 👋
Half my day in Claude Code is watching it work. Not long enough to switch
tasks, too long to just sit there. claudemon lives in that gap.
It's a Pokémon game that only advances while Claude does. Your prompts are
steps through the grass; every twenty seconds Claude works is another step.
Something jumps out, the status line tells you, you fight it in a second
terminal tab.
OpenSource, Free, MIT, fully local.
Report
The thing that makes this work is that the game only advances while Claude does, which is also the trap. You're paying people in Pokémon for waiting, so a run that spins for 20 minutes and produces nothing still feels great. I'd tie the encounter to exit code rather than elapsed time. Then a failed run costs you the catch, and you've accidentally built the only test result anyone would actually watch for.
@asadmalik901 Good idea, thanks! The idea is that several encounters can happen per agent run so that if the run is very long, people don't get bored with just waiting for one battle while Claude Code finishes to find out if it was caught or not
Report
@zamarrowski That solves the pacing, fair enough. Then keep encounters on the timer and gate only the catch on exit code. You still get a battle every few minutes so nobody's staring at a dead status line, but if the run fails everything you caught in it gets away. Same loop, and it stops paying out for 20 minutes of spinning that produced nothing.
@asadmalik901 Totally. But how do you actually know if the generated code is good or bad? If the agent just spins for 20 minutes and churns out garbage, you still get the Pokémon because the process technically finished with exit code 0, right?
Unless you tie the exit code to passing unit tests or a successful build.
Report
@zamarrowski You don't, and I'd stop pretending otherwise. Exit code 0 only means nothing crashed, so the version I'd actually build is catch on green tests when the repo has a test command and fall back to the timer when it doesn't. The repos without one were never going to give you a signal anyway, and you'd be surprised how motivating it is to lose a Charizard because you skipped writing a test.
Report
hey this sounds really fun! im wondering if it has any effect on wait times?
@ethan_cheng Haha nope, absolutely none! It doesn't speed up or slow down Claude at all. Purely cosmetic (and much more fun to watch than a loading spinner)!
Going to give it a spin! Now the waiting while claude works is a real pain and I don't see it going away for the next few years. So loved this idea, super builder centric.
@himanshu_garg Thanks! Exactly, waiting is just part of the deal for a while, so might as well make it fun. Let me know what you think when you give it a spin!
Converting idle wait time into a Pokemon game is such a clever idea. Context switching for 20-second waits usually kills focus, so keeping it right in the terminal is super smart. Love that it's open source and fully local too.
@founder_daksh Thanks a lot! Appreciate it 🙌 Exactly, the goal was to keep you hooked on the terminal instead of alt-tabbing while Claude takes a minute. Hope you enjoy checking it out!
Report
@zamarrowski
Turning the AI waiting gap into a Pokémon loop is genius! Context switching usually kills productivity, so keeping the user engaged in the terminal without losing focus is a great solution.
Super cool concept for open-source excited to see where this goes!
claudemon
The thing that makes this work is that the game only advances while Claude does, which is also the trap. You're paying people in Pokémon for waiting, so a run that spins for 20 minutes and produces nothing still feels great. I'd tie the encounter to exit code rather than elapsed time. Then a failed run costs you the catch, and you've accidentally built the only test result anyone would actually watch for.
claudemon
@asadmalik901 Good idea, thanks! The idea is that several encounters can happen per agent run so that if the run is very long, people don't get bored with just waiting for one battle while Claude Code finishes to find out if it was caught or not
@zamarrowski That solves the pacing, fair enough. Then keep encounters on the timer and gate only the catch on exit code. You still get a battle every few minutes so nobody's staring at a dead status line, but if the run fails everything you caught in it gets away. Same loop, and it stops paying out for 20 minutes of spinning that produced nothing.
claudemon
@asadmalik901 Totally. But how do you actually know if the generated code is good or bad? If the agent just spins for 20 minutes and churns out garbage, you still get the Pokémon because the process technically finished with exit code 0, right?
Unless you tie the exit code to passing unit tests or a successful build.
@zamarrowski You don't, and I'd stop pretending otherwise. Exit code 0 only means nothing crashed, so the version I'd actually build is catch on green tests when the repo has a test command and fall back to the timer when it doesn't. The repos without one were never going to give you a signal anyway, and you'd be surprised how motivating it is to lose a Charizard because you skipped writing a test.
hey this sounds really fun! im wondering if it has any effect on wait times?
claudemon
@ethan_cheng Haha nope, absolutely none! It doesn't speed up or slow down Claude at all. Purely cosmetic (and much more fun to watch than a loading spinner)!
@ethan_cheng @zamarrowski do people really watch claude code loading spinner ?
@zamarrowski @nlok5923 def not i doom scroll haha
@zamarrowski great! cant wait to give it a try
Going to give it a spin! Now the waiting while claude works is a real pain and I don't see it going away for the next few years. So loved this idea, super builder centric.
claudemon
@himanshu_garg Thanks! Exactly, waiting is just part of the deal for a while, so might as well make it fun. Let me know what you think when you give it a spin!
Congrats on the launch, @zamarrowski🚀
Converting idle wait time into a Pokemon game is such a clever idea. Context switching for 20-second waits usually kills focus, so keeping it right in the terminal is super smart. Love that it's open source and fully local too.
Good luck with the launch today!
claudemon
@founder_daksh Thanks a lot! Appreciate it 🙌 Exactly, the goal was to keep you hooked on the terminal instead of alt-tabbing while Claude takes a minute. Hope you enjoy checking it out!