RSS Amplifier

Mark Ferree · Feb 7, 2026

Agent Racer

0
Sign in to vote or save

Mark Ferree · Mark Ferree

I always have a few Claude sessions cooking and a few weeks ago I spent some time experimenting with how to notify myself that a session had completed or was waiting for input from me. Being a devoted tmux fan it was the first thing I reached for. This birthed tmux-window-notifier. What I quickly realized with this project was that tmux was a tool built for a different age and tmux itself was going to limit what was possible beyond ASCII in a pane window title.

Ever since my 12 Days of Shipmas in December I had been searching for a larger more complex project to really push the limits of current AI coding tools. Shipping 12 working projects in 12 days working across multiple languages was a weird kind of letdown. None of those projects really spoke to me and after I got them to v1 I couldn’t see a lot of opportunity to refine them only jumping back into DCC to move it from Rust to Go. I had deliberately picked things I was confident would succeed instead of thinking bigger and finding problems that would have been too hard or too time consuming for me to tackle on my own in the past.

I had seen discussions a few places online about how much fun it would be to have a game-like interface for Gastown which already sounds a lot like a realtime strategy game with all of its roles and personas. This got me thinking, what if my completed session interface wasn’t an exclamation mark on a completed tmux tab, what if my interface into Claude’s work looked more like a game?

Why not create an app that would have taken a small engineering team several months to build a few years ago? Scope creep here is easy and the complexity multiplies every time you add support for another agentic tool, another frontend, another terminal multiplexer. The possibilities are endless and the stakes are pretty low given I’m the only user. I’d heard a lot of teams and individuals talk about uneven experience using coding agents on larger codebases or codebases that AI made large and complex and wanted a chance to experience this for myself.

I started from scratch a week ago Friday evening:

I have been working on a plugin for tmux that notifies when a tmux window with a running claude session is “done” was thinking a game interface would be a lot more fun

We started innocuously enough. Some back and forth about technology choices and Claude spit out the initial plan.

If you need evidence that LLMs have no concept of a world model look at how it thinks wheels should attach to a car.

Effective AI coding calls for a strong sense of whats good and bad and a vision for what you want a tool to become. There is no way I was going to tolerate the above screenshot as a good enough result. Even if you develop in an iterative manner its important to not let the result run away from you. Every talk I’ve given about AI and half my blog posts mention Rick Rubin. Your taste and experience are now your main guides. If you don’t feel like you have fully developed either of those just start building and be critical of what you produce. Look at it through the eyes of the user. Don’t forgive things that don’t work the way you want and NEVER think in terms of technical limitations holding you back. This last part can be a especially hard for those of us who wrote a lot of software before these tools. Once you accept that the old constraints are gone, you can trade the satisfaction of a perfect class hierarchy for the satisfaction of a perfect user experience.

I know I said I dropped Beads a few weeks ago, and I did rip it out of a few of my projects. On this project I quickly had more ideas than available RAM and Claude tokens so I needed a place to stash those ideas cheaply and reached back for my old friend. What I’ve realized about Beads is that its very effective in that heady race to a working v1 where features are competing and blocking one another. Once you get into maintenance mode and are tracking more bugs than conflicting features Github issues and gh cli provide a way better experience. I still absolutely hate how Beads autocommits with its hooks. The fact that those same git commits contents are completely unintelligible to a human that just wants to know which three beads issues got added and which ones got closed looking through history is a fundamental flaw with the tool. I guess its the first time I’ve experienced a tool written with AI agents as its primary audience and I’m just a caveman wanting to see clear diffs that aren’t arbitrarily re-ordered.

The entire time I worked on this project I hovered between stage 7 and stage 8 of Yegges levels of orchestration. I just realized that the combination of tmux-window-notify and tmux-spawn has pushed me permanently into stage 8. The main thing keeping me in stage 7 was my limited Claude Pro account session limits. I was hitting a limit after 30-45 minutes and then waiting 4 hours for the entire weekend. This isn’t a bad way to work on a side project and leave time for all the other family activities and errands. If I got up early enough I could reliably get in 3 solid working sessions on my pro subscription alone.

Constraints sometimes breed creativity I found a fun workflow where I asked Opus to go through my beads backlog and pick which tasks it though Haiku would solve easily to save on some tokens and then spawned a fleet of Haikus to tackle them. There is so much room for optimization on this side of multi agent workflows even before you consider what working across multiple providers and identifying tasks that Gemini or Codex would one-shot and Opus would overengineer.

I surprised myself by working on this project almost every evening this week and even one early morning before work. There we just so many things I wanted to fix and features I wanted to add. I finally broke down Wednesday morning and upgraded myself to Max… to be greeted by an extended Claude incident and 500 errors left and right. Sorry everyone my bad luck alone can take down the largest distributed systems.

I hit my new Max subscriptions session limit both Wednesday and Thursday night leaning heavily on tmux-spawn and ignoring how buggy it was at cleaning up my worktrees feeling like a janitor coming behind the real coder to clean up.

I saw the Claude Code Agent Teams announcement on Thursday and decided to give it a shot Thursday evening. If you think that Claude flickers a lot and has wild backscroll bugs on its own just wait till you have a half dozen Claudes in tmux panes. They should probably have a seizure warning on this feature. It honestly didn’t provide me a lot more than I was getting from my own spawn workflow. The ability for agent sessions to have hierarchy and communicate with one another did not really take me out of the loop much and the subagent sessions inability to commit their own changes or use their own worktrees natively piled in all the changes into one big commit on the parent session making it harder for me to review what had changed. I’ll definitely give this another try soon but I was a little sad that my half-baked homegrown tools are outperforming the official solution.

I fought the urge to work on this project all day every day at work, but I was running it to keep track of my Claude sessions and feed my brain feature ideas and bug fixes. On Wednesday night my terminal had locked up and I just assumed it was the Playwright MCP (this comes in clutch if you are doing anything with a UI highly recommend). Then on Thursday my whole work computer completely locked up.

Turns out my little toy app was a bit of a memory hog. Guess this is what happens when you are a naive first time game developer that doesn’t know to tell the robot to make its animation loops bounded.

Up until developing this app I was doing most of my AI Coding using tools and programming languages and paradigms that I was deeply familiar with and found guiding the AI to good working solutions quite easy. I’m sure this small example of being out of my depth and not knowing about what to be defensive about in my development is a tiny microcosm of what people with no software experience are feeling using these tools.

The biggest surprise for me has been how much fun this has been to work on regularly pulling me in for several hours after a long work day. Visual feedback is its own kind of drug and this reminded me of how much fun working with Flash and Actionscript used to be. The result is still nowhere close to where I want it to be but I’ll keep plowing forward for my own entertainment if nothing else. Give Agent Racer a try and let me know what you think. The current memory leaks are gone but there may be new chaotic surprises sneaking in next week.

No posts

Read the original on markferree.substack.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.