An agent is a loop around a model with tools attached, permissions in front of it, and a platform underneath that keeps the loop alive across days, restarts and schedules. Here is each part of that, in order.
Every turn assembles a prompt from the agent's soul, its instructions, its available tools and the session history, sends it to the model you configured, and executes whatever it calls. Tool results land back in the transcript and the loop continues until nothing is left to call.
An agent has roughly forty built-in tools: shell over SSH, background commands, file read/write/edit, its own private workspace plus a shared account workspace, delegation, reminders, a shared todo list, and outbound messaging. Nothing is implicit — hosts must be verified per account and allow-listed per agent.
An agent can spawn a subagent scoped to one piece of work, message a peer specialist directly, and report a result back to whoever called it. The transcript interleaves all of it: your messages, tool calls with arguments and results, peer messages, subagent reports and system events.
A mission is checkpointed. If the runtime restarts mid-tool, the session resumes rather than dies — the retry is ours to handle, not something you wake up to.
Missions fire on cron, on inbound webhooks, on a channel message, or on a heartbeat the agent uses to check in with itself. Plugins can intercept a fire to annotate it — or cancel it outright.
Create an account, add your model key, and write your first agent's soul. The rest of the crew can arrive in one click.