developer alpha · MIT · source on github →

Agents that work for you.

Cast runs a team of AI agents on your own machine, around the clock. Each agent runs in its own container and can only access what you allow.

~/.cast/agents
scout
“Monitor apartment listings under my filters. Ping me within the hour.”
mailhand
“Read my inbox at 7. Flag what needs me, draft the rest.”
household
“Run the family calendar and the school emails. Anyone in the house can message you.”
3 agents · running · idle costs nothing
$ git clone https://github.com/yaodub/cast.git
$ cd cast && pnpm start
apple container or docker · node 20+ · an anthropic api key or claude.ai token
Read the quickstart View source

Monitor

An agent checks listings, feeds, prices, or repos and pings you when something changes.

“Monitor apartment listings under my filters. Ping me within the hour, good ones go fast.”
scout
telegram · 12:41
New listing: 2BR in Alfama, under budget, posted 20 minutes ago. These go in hours.

Cast agents wake on programmatic triggers: cron schedules, new mail, inbound messages. The model is only called to judge what turned up. A monitor runs exactly when its trigger fires and costs nothing in between. You create a watch by asking for it, and revoke it the same way.

Triage

An agent reads your inbox and hands you the few that matter, with drafts for the rest.

“Read my inbox at 7. Flag what needs me, draft the routine replies.”
mailhand
telegram · 07:04
Morning. 3 of 14 need you: the lease renewal, Dana’s contract question, the school form. Replies to the other 11 are drafted and waiting for your OK.

Cast fetches the mail on the host. The agent only holds the messages: it never sees the login and never touches the mailbox.

Remember

An agent keeps notes across every conversation and answers from them later.

“Keep track of the people and plans I mention. When I ask where we left off, tell me.”
assistant
web
what did we decide about the lisbon dates?
Oct 12 to 19. Decided May 3, after Priya’s schedule changed. You wanted the extra weekend for Sintra.

Cast agents can rewrite their memory but not their instructions. Memory grows with every conversation. The instructions stay exactly what you wrote.

Act

An agent runs errands: booking, replying, sending. Anything that reaches other people waits for your approval.

“Schedule my meetings. Find times that work, book only after I confirm.”
booker
telegram · 11:20
Dana asked for 45 minutes this week. You are both free Tuesday 10:00 or Thursday 14:30. Send the Thursday invite?
yes
Invite sent. Dana accepted, Thursday 14:30.

Cast agents act only through the tools you granted. Cast runs those tools on the host and keeps the credentials there. Anything with consequences, like sending or booking, asks you first.

why this holds

The agent lives in a container, and everything in or out crosses Cast. Most stacks sandbox an agent’s risky tools. Cast sandboxes the agent itself.

Allowed and possible are the same list.

Coordinate

One agent works with several people, each in their own private thread.

“Plan the Portugal trip with the three of us. Keep our research separate and the itinerary shared.”
trip-desk
sam · telegram
found flights under $400 on the 12th
priya · slack
one museum day max, please
to everyone
Itinerary v3 is up: fly the 12th, one museum, two hikes. Friday evening is held for Sam’s plan.

Cast supports many people and many agents. Every message arrives with a verified identity. Each person is assigned to a channel with its own permissions: what they can ask, what they can see, whether they reach the agent at all.

Compose

Cast doesn’t define what an agent can do. It gives you the primitives to build whatever you need done.

Three agents watch polls, odds, and the news. A fourth compares them and pings you only when they disagree.
A standup agent asks each teammate separately what they shipped and where they are stuck, then posts one summary to the channel.
At tax time, one agent reads guidance and forms on the open web. A second one holds your income documents and works out the numbers. The agent on the internet never sees your finances.
See worked examples →
authoring

Two ways to write an agent.

Both produce the same folder under ~/.cast/agents/. Start in one, finish in the other.

preview

In the browser

Design is a chat in the dashboard. Describe the agent you want and it writes the folder. The build consoles run contained: the one that designs never sees your secrets, the one that holds secrets never reaches the internet. When one stalls, the files are right there to edit.

In Claude Code

Three skills load Cast’s file formats and workflows into a session: /cast-build to author, /cast-refine to grow a running agent, /cast-debug when something is off. Full access to your machine, every change through your review.

open source

What you keep.

The program, the source, and the folder your agents live in all sit on your disk. If this project vanished tomorrow, you would keep all three.

licenseMIT, no contributor agreement, no relicensing
runs onyour Mac or Linux box, Apple Container or Docker
modelClaude
questions

Common questions.

What does it cost?

Cast is free and MIT. You bring an Anthropic API key or a Claude.ai token and pay for what your agents actually use. Agents are event driven, so an idle agent costs nothing.

Who sees my data?

Your machine holds everything: the agents, their memory, their files. When an agent works, what it reads goes into a model call, and that is the only place anything goes. Logins for mail and other doors stay on the host, where the agent cannot read them.

What if an agent gets tricked?

The damage is limited to the access you granted. A hostile email adds text to a conversation and nothing more. It cannot read credentials, cannot message anyone you have not approved, and consequential actions still stop at their approvals.

Is this a coding agent?

It holds the standing jobs around code: point one at your repos and it reads CI, triages issues, and keeps a changelog. For sit-down feature work you would still open Claude Code. The two compose: Claude Code writes your agents, your agents keep watch.

How is this different from the other self-hosted agents?

The walls sit in a different place. Cast puts the agent itself in the container and keeps your logins, tokens, and internet doors outside on the host, so everything the agent touches crosses a door. The trade is real: fewer integrations out of the box, and each one deliberate.

Can other people use my agents?

Yes. Anyone you let in gets their own private conversation with the agent, from Telegram, Slack, or the web. A stranger’s first message waits for your approval, and what each person tells the agent stays in their own thread.

How well does it work, honestly?

The part underneath (containment, identity, routing, scheduling) behaves as documented. The agent layer depends on the model and on your blueprint, and improves with iteration. The browser consoles are the newest surface, and agents are plain files you can edit directly.

Hand one job over.

Clone it, boot it, describe one job in plain English. Let it run for a week, then decide what else to give it.

$ git clone https://github.com/yaodub/cast.git
$ cd cast && pnpm start
Read the quickstart GitHub