Config
Workspace-local configuration via .craig/config.json.
All config is optional — Craig works fine without it. Drop a .craig/config.json in your workspace
root to control runners, check commands, worktree opening, GitHub polling, and feature previews.
{
"runners": {
"codex": { "enabled": true },
"cursor": { "enabled": true },
"claude": { "enabled": false },
"pi": { "enabled": true }
},
"checks": {
"commands": ["pnpm test", "pnpm typecheck", "pnpm lint"]
},
"open": {
"command": ["code"]
},
"github": {
"watchIntervalSeconds": 5
},
"previews": {
"agentOrchestration": false,
"piRunner": false
}
} runners
Controls which runners show up in this workspace. Set enabled: false to hide one, or set a
custom path if the binary isn't where Craig expects. See Runners for details.
checks.commands
Run by craig task check <id>. Usually your test, typecheck, and lint commands.
Craig runs them in order from the task worktree, stops on the first failure, and stores the results on the
task record.
open.command
Optional executable and arguments used by craig task open <id>. Craig appends the task worktree
path to this array. Without it, the command prints the worktree path instead. For example,
["code"] opens the worktree in VS Code.
github.watchIntervalSeconds
The minimum interval for GitHub PR and check polling. Craig checks selected PRs with pending checks most frequently, backs stable PRs and PR discovery off automatically, and pauses after rate-limit responses. Default is 5 seconds.
previews
Agent activity indicators are built in and enabled by default. The previews object enables experimental,
workspace-local features. agentOrchestration and piRunner are off by default and may
change or be removed. Enabling piRunner makes the Pi coding agent available in runner selectors.
You can toggle both from Options > Feature Previews in the TUI. See
Agent Orchestration for the safety and recovery model.