What running 36 agents in a day actually looks like
I pulled my own numbers this morning. In the last 24 hours, 36 agent sessions across 24 working directories, for $2,390.13.
I only know that because moshcode told me. Every one of those engines keeps its own log in its own format in its own directory, and not one of them will add up the day for you.
It is not another coding agent
That is the part people get wrong when I describe it. moshcode does not write code. It installs and drives the things that do. Right now that is opencode, privacycode, Claude Code, Codex, Kimi, Qwen, DeepSeek and OpenAgents on this box, with Gemini CLI and Aider available and not installed.
The practical effect of a wrapper is that you stop being loyal to an engine. When you can start any of ten with the same verb, picking one stops feeling like a commitment and starts feeling like a dispatch decision. moshcode herd eval will even run a dataset through several of them and score the results, which is a much better way to settle an argument about which model is better at your codebase than reading someone's benchmark about theirs.
The herd is the actual product
Sessions that outlive the terminal. That is the whole idea and it is worth more than it sounds.
moshcode herd shell --name work
moshcode agents claude -d --name api
moshcode herd ps
moshcode herd read api
moshcode herd prompt api "now wire the callback"
moshcode herd wait api
read is the one I use most. It shows you a session's screen without attaching to it, so you can check on six agents without stealing focus from any of them. wait is the one that matters if you script anything, because it blocks until a session reaches a state, which is the difference between a pipeline and a person watching a spinner.
And herd run takes any command at all, including an agent moshcode does not ship. If you have your own thing, it goes on the roster next to the rest.
The number that changed how I work
moshcode herd stats reports time in state, and it breaks out how long each session sat blocked waiting on you.
Look at that figure once and the whole picture inverts. The models are not the bottleneck. You are. Ten agents can be running and eight of them are parked on a question you have not read yet, burning nothing, producing nothing, holding a worktree.
The fix that ships with it is herd notify plus herd watch, which pages you when a session blocks instead of making you poll a screen. Being interrupt driven rather than poll driven is the single biggest throughput change available to anyone running more than three agents.
Read the cost numbers correctly
Two traps in that $2,390 and both matter.
The tilde is doing work. A figure marked ~ is what those tokens would cost on the API at published rates. It is not what anybody billed me. If you are on a subscription, that column is an opportunity cost, not an invoice, and reading it as an invoice will give you a heart attack for no reason.
The second one is worse because it is silent. Gemini, Kimi, DeepSeek and OpenAgents log nothing readable, so they report no cost rather than zero. An engine missing from that table is not an engine that ran for free. It is an engine you have no numbers for. Absence of a number is never a zero, and that is true of every dashboard you will ever build.
Models with no published rate show tokens and no cost until you add the rate to ~/.moshcode/pricing.json.
Three things that will bite you
Never put sudo in front of it. The commands that need root detect it themselves and re-run just that one command escalated. Do it yourself and you get real damage from an unexpected direction: moshcode update re-runs the installer and takes every path from $HOME, so sudo moshcode update installs your whole toolchain into /root.
Autonomous mode bypasses approval prompts. That is the point of it, and it means a container or a worktree you are willing to lose, not your main checkout.
If your box falls over while the herd runs, that is not a mystery, that is memory. 0.93.0 added /nice to throttle engine spawns with nice, ionice and a MemoryMax. Worth knowing that nice(1) on its own cannot stop an OOM kill, since scheduling priority and memory limits are unrelated. You need the MemoryMax part.
The skill is scheduling
Prompting is table stakes now. The leverage is in how many of these you can have in flight before you become the thing they are all waiting on, and you cannot manage that without numbers. Run moshcode cost --all --since 7d and moshcode herd stats on a Friday. Whatever you assumed about where your week went is probably wrong in an interesting direction.
How this was written: drafted with an AI assistant from my own notes, then edited by me.
Top comments (0)