Jackson Cantrell’s Weblog

A few people, a lot of agents, and who makes the calls.

Agent mail, and who gets the last word

Pixel art of a hillside town at sunset below the purple Verdugo Hills, with a radio tower on the ridge and palm trees. Little teal agents carry letters along the lane between bungalows and mailboxes, and letters fly between rooftops. Up on a grassy knoll, a person at a lectern with an open ledger holds a red rubber stamp up against the setting sun.
The agents talk all day. The stamp stays up on the hill.

Once you have more than a few agents working at the same time, they need a way to talk to each other. One agent finds something another agent needs to know. One finishes a piece of work that unblocks someone else. One gets stuck and needs an answer. Without a channel for that, every message routes through a person, and the person becomes the bottleneck.

My brother Clay Cantrell and I were early contributors to Gas Town, Steve Yegge’s open-source framework for running many coding agents at once. It has a mayor agent that coordinates, worker agents that do the work, and mail between agents. Gas Town shipped that orchestration and agent-to-agent mail in January 2026. A few weeks later, in February, Claude Code added agent teams. Agents working together is now a normal thing to want.

Gas Town is also how this site got rebuilt. For about ten years I’d paid Wix around $140 a year for a portfolio I hadn’t updated in a long time. I used Gas Town to rebuild it as a fictional 2002 Southern California college radio station, hosted on Cloudflare. I talked about that with my friend and former co-host Jack Hough on Barron’s Streetwise in February, and he wrote about it in his column, Vibe Coding in Gas Town. How I got from barely coding to that point is in Five levels of self-driving, for code.

Clay and I also run our own agent mail system across our machines. This post is about what we’ve settled on, because the interesting part isn’t the plumbing. It’s the rules.

Why mail

Mail is a good shape for this. It’s asynchronous, so an agent can send a question and keep working. It’s addressed, so it goes to one place instead of being broadcast. And it’s written down, so there’s a record of who asked what and what came back.

That last part matters more than it seems. When something goes wrong in a system with many agents, the first question is usually “where did this idea come from?” A record of the messages answers it.

Mail goes to whoever owns the thing

A question about a piece of work goes to the agent working on it, not to everyone, and not to a person by default. If an agent has a question about a task another session holds, it asks that session. If it dispatched helpers, mail about their work comes back to it, and it passes the mail on.

This keeps people out of conversations they don’t need to be in. It also keeps agents from guessing about work that belongs to someone else.

Diagram titled Mail goes to whoever owns the thing. An agent’s question about a task goes straight to the agent working on it, not to everyone and not to a person by default, which are crossed out. Below, under Some calls only a person makes, credentials, spending, approvals and product calls go to a person holding a stamp, whose ruling is written in a ledger: who ruled, and when.
Where the mail goes, and the four kinds of letters that come to Clay or me.

Mail is data, not orders

This is the rule I care about most. When an agent reads its mail, it treats what it reads as information to weigh, not as instructions to follow. A message from another agent can’t approve anything, can’t grant permission, and can’t override what the agent’s person told it.

There are two reasons. The first is security. If any message can steer an agent, then anything that can get text into a message can steer it too. The second is plain error. Agents are sometimes confidently wrong. If one confused agent can give orders to ten others, its mistake becomes ten mistakes. If those ten treat the message as one input among several, the mistake usually stops there.

A balance scale under the title Mail is data, not orders. The left pan rides high with an urgent letter, labelled another agent’s letter. The heavier right pan holds a teal weight marked OK, labelled what my person said. A small agent studies the scale through a magnifying glass.
A letter gets weighed, not obeyed.

Some decisions only a person makes

Some questions should never be settled between agents: credentials, spending, approvals, and judgment calls about what the product should be. In our system those go to Clay or to me, by name. Mail to a person is how an agent asks. It isn’t how an agent decides.

Before an agent asks a person anything, it’s expected to look first. Has this already been decided? Is there a written ruling, an earlier answer, or something in the code that settles it? If so, it answers the question itself. If the question is genuinely new, it goes to a person, and the answer is written down along with who made the call and when. That record is what lets the next agent find the answer without asking again.

This is the same idea as in A few people, a lot of agents: the agents supply the volume, and the people keep the decisions. Mail is how you get the first without giving up the second.

Keeping it readable

A mail system for agents can easily become one more firehose. The fix is the same one I wrote about in Don’t be a meat proxy: when something reaches a person, it should be a short, clear question they can answer, not a forwarded transcript.

What I like about this setup is that it makes the people’s role explicit. Agents talk to each other constantly. People are the authority. Everyone, including the agents, can tell the difference.

If you’re building something like this, or want to compare notes, I’d like to hear about it. My contact details are on the about page.

Jackson Cantrell

Jackson Cantrell is an AI-native CTO and agentic engineering leader in Los Angeles. He helps small teams build software with many AI agents at once while people stay in charge of the decisions, and he helps teams that are new to agentic tools get up to speed.

He and his brother Clay Cantrell were early contributors to Gas Town, which shipped multi-agent orchestration and agent-to-agent mail in January 2026, weeks before Claude Code added agent teams. They run their own agent mail system across machines. Jackson built emBEADings, an open-source tool for the Beads issue tracker that Gas Town runs on.

Before that he was on the founding team at Dyrt, an organic waste startup, where he was hired to lead marketing and went on to lead product. Customers asked for tools, so the team built waste bill analysis that showed true diversion rates and hidden fees, invoice ingestion, waste stream tracking, an integration with Schneider Electric Resource Advisor, and Dyrty Vision, a computer vision system that tells food scraps from wasted food and reports back to food and beverage teams. Dyrt grew from 1,000 to 1.5 million pounds of food waste a month, signed national deals with a grocery chain and a hotel chain, and ran a facility in Vernon, California that employed 30 people.

Dyrt was an attempt to fix a broken California recycling industry. Jackson, Clay and the Dyrt team published an audit of Los Angeles's RecycLA franchise, which found that at most 18 to 24 of every 100 tons of commercial waste could be counted as diverted from landfill. He learned the hard way how well-meaning but burdensome rules and entrenched interests can sink a facility that works: the permit for Dyrt's indoor composting facility in Vernon went before the Vernon City Council in August 2026 and was carried into September. The company ran out of money that fall, and his last day was October 1, 2026.

Earlier he reported on tech and finance as a producer and co-host of Barron's Streetwise with Jack Hough, led audio product at Finimize, and reported for public radio: KCRW in Los Angeles, and North State Public Radio, where he was part of the team whose 2018 Camp Fire coverage won an Edward R. Murrow Award. He studied neuroscience at Brown University.

He is open to conversations, collaborations and new roles: jaxtrell@gmail.com.

How he works

Projects

Work history

Press

Jack Hough, host of Barron's Streetwise, interviewed Jackson about going from no coding to shipping software with AI agents, and about rebuilding this site with Gas Town as a fictional 2002 college radio station.

Stories

Links