The agent framework where every run is durable, replayable, and resumable by default.
Write agents as plain async TypeScript on a Rust core. Every side effect flows through the runtime as a recorded host call, so any run can be checkpointed to disk, replayed for byte-identical output with zero LLM calls, and resumed from any pause — even in a new process after a crash.
Replay any run with zero LLM calls
The call log is a deterministic record. Re-run the same code against it and every prompt, tool, and HTTP call returns its recorded result instantly — no tokens spent, identical output.
Survive crashes and restarts
Runs are checkpointed at every host safepoint. Kill the process mid-run and resume exactly where it left off, in a brand-new process.
Pause for humans, without a live process
chidori.input() and named signals suspend the run to disk. A human or another agent answers minutes or days later and the run picks up exactly where it stopped.
Check in a checkpoint as a test
Commit a recorded run to git and assert the agent’s behavior hasn’t drifted — a full integration test that costs $0 and runs in milliseconds.
One Rust binary, no runtime dependencies
An embedded pure-Rust JavaScript engine runs your agents — no Node, no Deno, no V8. TypeScript and Python SDKs talk to it over HTTP with no native bindings.
Structural prompt caching built in
Stable prefixes are auto-marked for the provider cache, and replay pays nothing at all.