Templates and Settings
Templates and Settings edit Kraft's configuration files as screens. This page describes the Chains and Library screens and each Settings screen.
Templates
Templates holds the two files an item is copied from, the chains and the library, as screens. Each one edits a draft: your changes take effect when you click Review & publish, which shows what changed and checks it first. YAML shows the file itself.
Open items, every one not done or cancelled, keep the chain they were filed with. The screens count them as open, not running: the board's Running group is only the ones an agent or a check is working on now.
Chains
Chains draws a chain as a graph, picked from the menu beside Chains.

- Click a node to see and change its settings in the inspector; double-click it to open its own view of steps and tasks.
- The pencil opens the chain's own settings.
- Click the name at the top of the inspector to rename it in place: Enter
renames it, Esc keeps it. Renaming the chain itself shows as
old → newbeside Chains until you publish, and Review & publish lists it as a change: publishing moves its file to the new name, and new items name the new id. - A task's Config tab leaves out the agent settings a command or merge-request task never uses, unless its on-failure recovery runs under them, and a yes/no setting is a switch.
- Duplicate copies the chain under a new name.
In Chains and Library, ref, target and inputs list their allowed values as
you type, each with a line on what it does; Chain file keys
has the lists. So do steering, and a policy's grants and allowed_harnesses.
A value that is not on the list is marked where you typed it and is not saved.
An agent task's fallback is edited as its list of entries, a harness and an
agent profile picked for each. An entry's model and effort are set in YAML.
See Write your own chain.
Library
Library lists the components chains are built from, under Nodes, Steps, Tasks and Steering, each with how many chains use it.
Settings
Settings holds the screens that set up Kraft itself: the repos it works on, the agent CLIs it drives, its limits, and how you reach it. Repos, Harnesses, Policy and Auto-intake edit a draft the same way as Templates.
| Screen | The file it edits |
|---|---|
| Repos | repos.yaml |
| Harnesses | harnesses.yaml |
| Policy | policy.yaml |
| Auto-intake | intake.yaml |
| Notifications | notify.yaml for the webhook. This browser is kept in the browser, not in a file. |
| Access | access.yaml |
| Appearance | theme.yaml |
| About | None. |
Repos
Repos lists the connected repos with each one's chain, steering, test command and state. Select a repo to change its fields, as below.
- Connect repo adds one. Given a repo already connected, it offers
Update instead, which saves only what the repo's entry left undecided, as
kraft repo connectdoes. - A repo with no commit yet cannot connect: Check again reads it once you have committed.
A repo's fields
In a selected repo's fields:
- No setup needed, beside its setup command, says that a fresh checkout
needs nothing installed (
setup_command: ""). - No tests, beside its test command, says the repo has no tests
(
test_command: ""): its items pass verify without running any, and the list showsno tests (passes verify). Untick No tests and the test command is no longer set, which stops each item at verify. Kraft refuses that save while the repo is enabled and has no test scopes: disable the repo, or set test scopes, in the same change.
See repos.yaml.
Harnesses
Harnesses lists the agent CLIs Kraft can drive and whether each is available, and the agent profiles tasks pick a model by. + Profile adds one. See Switch a task to another harness.
Policy
Policy has three sections:
- Limits: time, token and dollar caps by scope: the work item, nodes, steps and tasks, plus the daily dollar cap.
- Loops: fix-loop defaults, findings and stuck-item handling.
- Housekeeping: concurrency, relaunches, archive and the forge timeout.

See Caps and budgets.
Auto-intake
Auto-intake sets whether Kraft picks up ready issues from beads by itself, and its
schedules (Add schedule), both in intake.yaml. How many items run at once
is Policy › Housekeeping. See
Schedule or webhook work.
Notifications
Notifications sets where Kraft tells you it has stopped and waits for you: a Webhook, and This browser. Send a test checks each one. See Get notified when an item needs you.
Access
Access sets who can reach the board: This machine only (127.0.0.1, no
password) or Local network (0.0.0.0, password required). It also holds the
port, the allowed hosts and the password. A change takes effect on restart. See
Remote access.
Appearance
Appearance sets how the web UI looks and a few defaults. It is saved in
theme.yaml.
- Light, Dark or System; how much color; the surface and accent colors.
- Further down, the board (Open items in: Peek, the side panel, or Full page), the review diff's layout and syntax highlighting.
- The Default editor that Open in editor uses: the editors found on
this machine, or Not set, which uses
KRAFT_EDITOR, else the system's default app.
About
About opens from the version line at the sidebar's foot, and from the last entry under Settings. It shows:
- the version, whether an update is available or waits on a restart, the command to install it, and the release channel;
- this instance's address and whether it asks for a sign-in;
- its run directory and health, and the Python it runs on.
Copy diagnostics copies them for a bug report.
Related
- Chain file keys and Write your own chain: what the Chains screen draws, and how to change it.
- Configuration: the YAML files these screens edit.