Accept the work before execution
Each turn records its request and context before the Agent starts. Output, bounded tool evidence, failure, cancellation, and interruption remain attached to the Session.
Open a repository and give an Agent—or a configured team—a durable Session. Each accepted Turn keeps its request, context snapshot, Agent output, final lifecycle state, and bounded tool Route in History. Resulting changes remain ordinary Git decisions.
Agent work crosses context, files, commands, previews, tools, restarts, and review. Axocoatl gives it one folder-anchored Session record, with conversation as the spine and current repository state visible beside it.
Each turn records its request and context before the Agent starts. Output, bounded tool evidence, failure, cancellation, and interruption remain attached to the Session.
Read and edit repository files, run commands in Terminal, inspect the app in Preview, and open Source Control without changing work items.
Sandbox boundaries, MCP approvals, visible tool activity, History, and deliberate Git review leave the repository and the decision with you.
The final response is one part of the result. Durable History keeps the accepted request, context, Agent output, bounded tool Route, and final lifecycle state. Source Control shows the repository as it exists now.
Canonical tool calls, bounded results, and failure states remain in History. Source Control separately shows current repository changes.
Run the repository’s real command in Terminal. In Ways, run the same configured Check against every completed attempt. A polished answer does not outrank a failing test, type check, lint, or build.
Inspect the current diff or filter it to paths attributed to the latest durable Turn. Stage, discard, switch branches, and commit deliberately.
One Agent or a configured team remains the direct path. When the implementation is genuinely uncertain, the same Session can run several isolated Ways from one task and repository snapshot, with provider-safe prior Session context.
While the decision is open, compare each candidate's Outcome, Route, available diff, Checks, cost, and optional Judge. Before Checks, changed paths and diffs depend on the live attempt runtime; completed Check evidence survives reload. Keep one for Git review or finish without keeping. Either choice cleans up the attempt set. If you Keep one, History retains its task, output, and turn attribution.
See when several Ways help →same task + safe context + snapshot
│
├── way 1 · agent A · model X
├── way 2 · agent B · model Y
└── way 3 · agent C · model Z
Checks → compare → Keep one
daemon
├── supervised agent actors
├── durable Session ledger
├── checkpoints + memory
├── provider adapters
├── MCP tools + Skills
└── rootless sandboxes
one workbench, not a dashboard kit
The browser is the product surface. A Rust daemon supervises agent actors, persists the canonical Session ledger, checkpoints execution state, and owns sandbox lifecycle.
Local-first is the default, not a claim that nothing can leave the machine. Podman runs locally, but its default bridge permits container egress. Providers, MCP servers, web search, webhooks, the optional remote sandbox, Podman image or package downloads, and the one-time Hugging Face embedding download can use the network. sandbox.network: none blocks only code and commands inside the local Podman sandbox; daemon-side integrations remain separate paths.
Install Axocoatl, open a repository, and keep the conversation, tools, execution, and review in one durable Session.