CrashLab
Stateful behavioral evaluations for the agents you are building.
CrashLab runs your real agent against a controlled, stateful world before you ship it. It verifies outcomes and safety properties from protected evidence, keeps model variability visible, and stores every result in the repository for humans and coding agents to inspect.
0.1 alpha
CrashLab's public authoring surface is intentionally narrow and may change during the 0.1 series. Local Docker execution is the supported sandbox path.
Start with one useful workflow
brew install crashlabsai/tap/crashlab
crashlab skills install
cd /path/to/your-agentThen ask your coding agent:
Set up CrashLabFor an unknown repository, crashlab init is not the first command. The bundled
skill inspects the project, starts from the compatible Python/uv or Node/pnpm
source scaffold when one is unambiguous, connects one real workflow, and only
then initializes and runs the project. The scaffold is deliberately unable to
pass until its world, target hook, provider gateway, and verifier describe the
real agent; its coverage placeholders must also explain that evaluation before
setup is complete.
Install and verify
Install the alpha CLI and confirm Docker and Git are ready.
Set up an agent
Connect an arbitrary agent repository to one useful evaluation.
Choose a workflow
Select a small behavior with observable outcomes and meaningful failure cases.
Run your first evaluation
Execute the candidate, inspect retained evidence, and check a change.
Understand the model
Learn how targets, worlds, verifiers, cases, and trials fit together.
What CrashLab proves
CrashLab is for behavior at the boundary between probabilistic agents and deterministic systems:
- tool and MCP operation selection, arguments, dispatch, and returned results;
- coherent reads and writes against simulated APIs or application state;
- workflow outcomes, invariants, minefields, and causal milestones;
- subagent coordination and recovery from injected failures;
- reliability across fresh trials; and
- model identity, latency, token use, and attributable cost when available.
It does not replace unit tests for deterministic application code, and it does not evaluate a model in isolation. The model, prompts, tools, framework, orchestration, source, and runtime configuration are all part of the target agent system.
The development loop
change the agent
↓
run one focused evaluation
↓
inspect the failed phase, check, and evidence
↓
fix the agent
↓
compare the candidate with the baselineCrashLab keeps the authoritative result under .crashlabs/runs/ and returns a
short selector. crashlab view <selector> --json gives a bounded diagnosis that
a coding agent can use without parsing internal result schemas.
Coding-agent loop
Use retained selectors, focused reruns, and regression checks while editing.
Continuous integration
Run the same regression decision in trusted macOS automation.
Docker and security
See the trust boundaries, credential rules, and automatic cleanup behavior.
Release status
Distinguish supported 0.1 behavior from experimental and unavailable paths.
Troubleshoot a run
Separate setup, provider, Docker, verifier, and agent failures.