Change how the agent works
An engine is a saved version of labb's core: its prompts, its steps, how it handles context, its tools and how it repairs tool calls. Fork one, change it, compare it, and switch back any time.
labb default
What labb does as it comes. It stays the default, read-only, to look through and fork.
labb local
Made for small models on your own machine, 4B to 9B like gemma4:e4b. It offers 13 tools instead of 20, with one-line descriptions and a short way of working, and starts at about 1,900 tokens of prompt instead of about 5,100, which leaves a 32k window for the work.
Edit it part by part
The editor has a section for each part of the core: Prompt, Loop, Context, Tools, Input & repair, Model, Hooks & servers and JSON. What differs from the default gets a dot and a way back, and only what differs is stored.
The loop is a canvas, with ready-made ones to start from: Plan first, Self-review, Test until green and Minimal.

See it, try it, measure it
- Preview
- What the model would get in a web, terminal, plan mode or task run, with tokens per section, as you type.
- Try it
- A chat that uses your unsaved changes and isn't kept.
- Changes in words
- Describe a change and a model turns it into one you can look at before using it.
- Versions
- Every saved version, to compare and restore.
- Compare
- Runs the same prompts through several engines, with the time, tokens, model calls and tool calls of each. Usage breaks replies down by engine too.
Engines are small JSON files
Pick one in the message box, for an agent in its editor, for all your new chats, or as an admin for the whole server. In the terminal:
/engine fork terse # starts ~/.labb/engines/terse.json from the engine in use
/engine use terse # from the next message on
/engine diff terse # what it changes
labb --engine labb-localAn engine can only narrow what a run may do
- It can't turn on a tool that's off, and commands and edits still ask for approval. Limits and spending caps still apply.
- labb shows what an engine changes and asks before using one with Python, or a project's one that runs commands, and asks again when it changes.
- On the server nothing an engine has runs a command, and its Python runs only in the sandbox.