forked
Git-like versioning for AI agent state that lets agents fork, rewind and replay while keeping side effects effectively-once.
At a Glance
Self-hosted forked core (Rust library, server, SQLite/Docker) under Apache-2.0, same API as cloud.
Engagement
Available On
Alternatives
Listed Nov 2026
About forked
forked is an open-source (Apache-2.0) project with a Rust core that versions an AI agent's structured state with git-like branches, commits and diffs. It pairs that state tree with an effect log so emails, payments and API calls are not executed twice when an agent is retried or rewound. It can be used as a Rust library, a self-hosted server, or a managed cloud service with the same API.
What It Is
forked stores an agent's own structured state (messages, memory, plans, tool results) as a persistent key-to-JSON map. Agents can fork a branch, rewind to any commit, and diff states. It does not snapshot files or processes, only the agent's structured state.
How the effect log works
Side effects are recorded by idempotency key inside commits. When a crashed agent is re-run from the top, already-recorded steps return their stored result instead of executing again, and rewinds never undo a recorded effect. The README notes the guarantee is strict when a session has a single writer at a time, as in forked cloud.
Architecture and deployment
State is a structurally shared, content-addressed tree (SHA-256, deterministic CBOR), so forks write a single ref and diffs skip identical subtrees by hash. The README reports 1,000 branches in about 1.4 ms in memory and about 276 ms on durable SQLite. Storage backends range from in-memory to SQLite and Cloudflare Durable Objects, and the core compiles to WebAssembly.
Clients and integrations
A TypeScript client (@forked-run/client) wraps sessions, branches, commits and effects. @forked-run/langgraph is a LangGraph checkpointer that turns time travel into a real branch rewind, and @forked-run/mcp exposes checkpoint, rewind and effect tools to MCP-capable agents. Self-hosting uses a single binary with SQLite or Docker, and switching to cloud only requires changing baseUrl. The cloud adds a console that draws each session's branch tree.
Community Discussions
Be the first to start a conversation about forked
Share your experience with forked, ask questions, or help others learn from your insights.
Pricing
Open Source (Self-hosted)
Self-hosted forked core (Rust library, server, SQLite/Docker) under Apache-2.0, same API as cloud.
- Apache-2.0 licensed core
- Rust library, self-hosted server (binary + SQLite or Docker)
- Same API as forked cloud
- Everything a single developer needs is and stays open source
Free
Free forked cloud tier.
- 100k requests / day
- Unlimited branches & forks
- Visual branch-tree console
- No credit card
Capabilities
Key Features
- Fork agent state in O(1) with structurally shared branches
- Byte-exact rewind to any commit with abandoned history anchored
- Effect log with idempotency keys for effectively-once side effects
- Hash-based diffs that skip identical subtrees
- Content-addressed storage with SHA-256 and deterministic CBOR
- Same HTTP API for self-hosted and cloud deployments
- Visual branch-tree console in forked cloud
- TypeScript client SDK
- LangGraph checkpointer with real branch rewind
- MCP server for checkpoint, rewind and effect tools
- Self-hostable server with SQLite or Docker
- Rust core that compiles to WebAssembly
