JSON format
JSON supports the same schema as YAML. Use it when a workflow is generated by another tool or when your team prefers strict JSON files.
Example
json
{
"harness": "claude-cli",
"model": "sonnet",
"steps": [
{
"name": "inspect",
"prompt": "Inspect @src/server/ and explain the main request flow."
},
{
"name": "review",
"resumeSession": true,
"prompt": "List the two most important weaknesses in that flow."
}
],
"finalStep": {
"prompt": "Summarize the recommended next action."
}
}When to choose JSON
- another tool creates workflows for you
- you want a format with stricter editing rules
- you plan to validate or transform workflows in external tooling
Use the same workflow schema reference regardless of file format.
Parallel steps
JSON uses the same parallel queue-item shape as YAML. The members are flattened into the workflow's authoritative step numbering:
json
{
"steps": [
{
"parallel": [
{
"name": "research-api",
"prompt": "Research the API implementation."
},
{
"name": "research-tests",
"prompt": "Research the existing test strategy."
}
],
"failFast": true
},
{
"name": "synthesize",
"priorContext": [1, 2],
"prompt": "Synthesize the independent research."
}
]
}Group members share one workspace and, when configured, one managed or named worktree for the run. They are intended for independent work; v1 has no per-member isolation or automatic merge. queue.maxParallelSteps bounds the group width, while 1 preserves sequential execution. Group members may enable the built-in ctrlyoke dynamic-queue MCP server. See YAML format for the full list of group rules.