Custom agents
Change a built-in agent's model, prompt, or permissions, or define your own specialist agents in config or as Markdown files.
You can tune any built-in agent or add your own. An agent is defined by its instructions, its model, the tools it may use, and its permissions.
In config
Define or override agents under the agent key in morbium.json:
{
"agent": {
"build": {
"model": "anthropic/claude-sonnet-4-5"
},
"reviewer": {
"description": "Reviews firmware for bugs without changing anything",
"mode": "primary",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "You are a careful firmware reviewer. Read the code and report issues. Do not edit files.",
"permission": { "edit": "deny" }
}
}
}
Common fields:
model: the model this agent uses.prompt: its instructions.description: what it is for (used when another agent delegates).mode:primary(selectable),subagent(delegated to), orall.permission: per-agent permissions, merged over the global ones.
As a Markdown file
You can also drop an agent into .morbium/agents/<name>.md. The frontmatter holds the settings and the body is the prompt:
---
description: Reviews firmware for bugs without changing anything
mode: primary
model: anthropic/claude-sonnet-4-5
permission:
edit: deny
---
You are a careful firmware reviewer. Read the code and report issues.
Do not edit files.
The filename becomes the agent name. A global agent lives under ~/.config/morbium/agents/.
Scoping a specialist
The built-in specialists stay safe by restricting what they can touch, for example the board designer can only edit board files. You can do the same for your agents with per-agent permission rules, so a review agent cannot edit, or a doc agent can only write to a docs folder.
Next steps
- Agents: the built-in roster.
- Permissions: scoping what an agent may do.