ody run
Run the agent loop
Synopsis
ody run [taskFile] [--iterations <n>] [--label <name>] [--verbose] [--no-notify]Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
taskFile | string | No | Path to a specific .code-task.md file to run |
Flags
| Flag | Alias | Type | Default | Description |
|---|---|---|---|---|
--iterations | -i | string | (config) | Override the number of loop iterations (0 = unlimited) |
--label | -l | string | Filter tasks by label | |
--verbose | boolean | false | Stream the agent's output in real time | |
--no-notify | boolean | false | Disable OS notifications even if enabled in config |
Behavior
Default loop mode
Without arguments, ody run enters a loop that runs for maxIterations iterations (from config) or until all pending tasks are done:
- Builds a prompt from the current project state and pending tasks.
- Spawns the configured backend agent with the prompt.
- Monitors the agent's output for the
<woof>COMPLETE</woof>marker, which signals all pending tasks are finished. - On each completed iteration, displays progress (e.g., "Agent task 2 of 5 complete").
- Sends OS notifications per the
notifyconfig setting. - Exits with a summary of completed tasks.
Single task mode
When a taskFile positional argument is provided, the loop runs exactly once targeting that specific task file:
ody run .ody/tasks/my-feature.code-task.mdThe taskFile and --label flags are mutually exclusive.
Label filtering
Use --label to run only tasks that match a specific label in their frontmatter metadata:
ody run --label bugfixIf no tasks match the label, the command exits with a warning.
Iteration override
The --iterations flag overrides the maxIterations config value for the current run:
ody run --iterations 3Set to 0 for unlimited iterations (runs until all tasks complete).
Verbose mode
By default, agent output is hidden behind a spinner. Use --verbose to stream the agent's full output to the terminal:
ody run --verboseExamples
Run all pending tasks with config defaults:
ody runRun a single specific task:
ody run .ody/tasks/add-login-page.code-task.mdRun with a 3-iteration limit and verbose output:
ody run --iterations 3 --verboseRun tasks with a specific label:
ody run --label refactor