Agents configuration
Map agent ids to CLI commands and timeouts in config.yaml.
Agents configuration
AgentFlow does not talk to agent APIs directly. It starts each agent as a subprocess without a shell (application/internal/agent/exec), passing a plain argv built from your config. Every key under agents: is a logical id you reference from flags (--agent), from work.default_agent, and from routing rules.
The block below is a realistic shape: several ids point at different executables, with optional args, models, timeouts, and an Ollama-style HTTP endpoint where that agent type expects it.
Example
agents:
kiro:
command: kiro
args: ["--cli"]
cursor:
command: cursor-agent
default_model: auto
timeout: 3600
codex:
command: codex
timeout: 3600
claude:
command: claude
timeout: 3600
ollama:
endpoint: http://localhost:11434
model: qwen2.5-coder:14b
embedding_model: nomic-embed-text
timeout: 300Fields
The table is a quick map from config field to how the exec layer uses it. Nothing here is implicit: if you omit timeout, defaults elsewhere apply; Ollama-specific keys only matter for an agent that uses that protocol.
| Field | Used by |
|---|---|
command | Executable name on PATH |
args | Extra argv (Kiro, wrappers) |
default_model | Passed when agent supports model flags |
timeout | Seconds before kill |
endpoint | Ollama HTTP base URL |
model / embedding_model | Ollama model tags |
Defaults in work
The work block chooses which logical ids run when a command does not override them. Adjust these when your default implementation, reviewer, or enricher should change repo-wide.
work:
default_agent: cursor
default_reviewer: codex
default_enricher: ollamaYou can still override per invocation, for example agentflow dev feat --agent cursor or agentflow review feat --agent codex.
Dry-run
With --dry-run, the exec layer does not spawn real subprocesses. That is useful in CI when you only want to validate wiring, and for rehearsing docs or scripts that would otherwise wait on long-running agents.