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.
See it work
A session starts locked. Confidence does not unlock it.
>>> session = create_session('demo-refactor', budget='2 min')
state=INIT execution_locked=True can_execute_code=False
>>> session.unlock_execution('the plan looks fine, let me write code now')
PermissionError: HARD TIME-LOCK VIOLATION: Execution unlock rejected!
The immutable 2.0m authority budget has not elapsed yet
(Remaining: 1m 59s / 120.0s).
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
Point your agent at the MCP server:
// Claude Code: claude mcp add fable-engine -- python -m fable_engine.server
// Cursor: ~/.cursor/mcp.json
{
"mcpServers": {
"fable-engine": {
"command": "python",
"args": ["-m", "fable_engine.server"]
}
}
}
Python 3.10+, zero runtime dependencies. PyPI package publishing is in progress.
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.
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
Contributing
Issues and pull requests are welcome. See CONTRIBUTING.md.
MIT License · Built by REX
Release files for fable-engine 1.3.1
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.1.tar.gz | 552.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fable_engine-1.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.0 MB
Release files / fable_engine-1.3.1.tar.gz
| Download URL | fable_engine-1.3.1.tar.gz |
|---|---|
| Size | 552.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e9816eba47e797e7846491708edc44929ea034f09a8a6828a178fcbc05c7a09
|
|
BLAKE2b-256 checksum How to use checksums |
24bede297062ea9ed354aba5298b298b90342ddbb9c5bd32f317556a1dcf7fdf
|
| 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 15, 2026.
Transparency logRelease files / fable_engine-1.3.1-py3-none-any.whl
| Download URL | fable_engine-1.3.1-py3-none-any.whl |
|---|---|
| Size | 453.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b7bfad5a301f16a2d1ab1d9998e1c9c55225f6f72436e2adac333593826f58ae
|
|
BLAKE2b-256 checksum How to use checksums |
b02e691a89f5475ab66f9d64bf85767505d2b32b8f149e3a46a70dbf48fb3de5
|
| 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 15, 2026.
Transparency log