Fable Mode is an open-source control plane for AI coding agents.
It makes an agent deliberate, produce evidence, and survive adversarial review before it earns permission to write to your workspace. The gates are mechanical, not prompt advice: no timer, no proof, no write access.
Demo
KERR // ORRERY
One self-contained HTML file. Raw WebGL, zero libraries, zero external assets, and zero build step.
https://github.com/user-attachments/assets/8287bbfe-e3ee-4dcf-ba0f-f9ff22ae79bd
7 renders rejected before final · 2 bugs caught · 10/10 red-team probes passed
Fable Mode overview
https://github.com/user-attachments/assets/27f4f8a2-b1bb-4398-a08c-bc9fd93d69d7
Quick start
A session starts locked. Confidence does not unlock it.
- Install the MCP server using one of the options below.
- Add the optional Agent Skill if you want the full workflow.
- Ask your agent to use Fable Mode for a concrete coding task and choose a time budget.
A new session starts with execution locked:
{
"action": "create_session",
"session_name": "demo-refactor",
"objective": "Refactor the parser without changing public behavior",
"time_budget_minutes": 2
}
The agent then records evidence and an invariant. An early unlock_execution
request is rejected until the authority timer and proof prerequisites pass.
Use get_status at any point to see the active phase, remaining time, evidence
counts, and lock state.
The same gates guard every phase: evidence receipts for claims, a five-vector red-team swarm for code, and a sealed record of what was verified.
Install
pip install fable-engine
Or install the MCP server in your editor:
These links configure Fable Engine for AI agents in VS Code Chat or Cursor. They do not install a standalone editor extension. Both use uvx, which downloads and runs the pinned PyPI release in an isolated environment.
Point your agent at the MCP server manually:
// Claude Code: claude mcp add fable-engine -- uvx --from fable-engine==1.3.6 fable-engine
// Cursor: ~/.cursor/mcp.json
{
"mcpServers": {
"fable-engine": {
"command": "uvx",
"args": ["--from", "fable-engine==1.3.6", "fable-engine"]
}
}
}
Python 3.10+, zero runtime dependencies. Published on PyPI as fable-engine.
Optional: the Agent Skill
Installing fable-engine gives your agent the MCP tools. It does not install
or activate the Fable Mode Agent Skill - the prompt-side workflow in
skills/fable-mode. Nothing in the package
activates those instructions on its own; the skill is always a separate,
explicit opt-in.
The complete skill tree ships inside the wheel. To install it into your
project's skills directory (the cross-client .agents/skills/ convention):
uvx --from fable-engine==1.3.6 fable-mode install-skill --yes
This copies the skill to .agents/skills/fable-mode. Preview first with
--dry-run, choose another location with --target <dir>, and reload your
agent afterwards so it picks up the skill.
How it works
- Think — Time-locked deliberation. The agent cannot write until the timer ends.
- Prove — Claims need real evidence (tool receipts, hashes, invariants).
- Attack — A red-team swarm tries to break the code.
- Write — Only then is the workspace unlocked.
Optional: AI evidence adjudicator
The evidence in a session is written by an AI agent, so Fable can optionally ask an external reviewer model to audit that evidence before the workspace unlocks. Stdlib-only, one bounded HTTPS call, no local model, no extra RAM to speak of. Off by default; fail-closed when enforcing. It raises the cost of fabricated proof - it cannot guarantee deception is impossible, and the mechanical gates stay the primary authority. Setup and honest limits: AI evidence adjudicator.
What it is not
- Not a claim of flawless code. It is a checkable workflow, not a guarantee.
- Not a bigger prompt. The locks are enforced by the engine, not by wording.
- Not a framework lock-in. It speaks MCP and runs beside your current agent.
Docs
- Start here: practical guide
- Agent Skill reference
- V1 → V2 migration
- V2 architecture
- System 3 (experimental)
- AI evidence adjudicator (optional)
Contributing
Issues and pull requests are welcome. See CONTRIBUTING.md.
MIT License · Built by REX
Release files for fable-engine 1.3.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fable_engine-1.3.6.tar.gz | 592.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fable_engine-1.3.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.2 MB
Release files / fable_engine-1.3.6.tar.gz
| Download URL | fable_engine-1.3.6.tar.gz |
|---|---|
| Size | 592.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a12750ca551e9023afa0450cd4bccc710f79568fab21db369953c745daf963b
|
|
BLAKE2b-256 checksum How to use checksums |
e844b5bed33a6bf236958016c269162bcd5732535ca2c6bcb8bcc1cdb94df647
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / fable_engine-1.3.6-py3-none-any.whl
| Download URL | fable_engine-1.3.6-py3-none-any.whl |
|---|---|
| Size | 649.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ca123889c31e58881603747dfee25f3991480a8426a1be294f21380b81b6deac
|
|
BLAKE2b-256 checksum How to use checksums |
b174684afbe53fb59078cff2525c8dff33658e9d44397b950bf566d5100a80af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency log