kind: turn returns plain text. collaboration_mode: plan uses Codex’s built-in Plan collaboration mode.
Plan collaboration turns are planning-only and must not mutate repo-tracked files.
default | accept_edits | bypass_permissions | plan
No
claude returns the final plain-text assistant response.
Claude YAML fields are snake_case and map directly to Claude Agent SDK options in camelCase.
Do not set with.kind, with.mode, or with.action on Claude steps.
Use a locally installed and authenticated Claude Code CLI (claude login).
opencode returns the final plain-text assistant response.
OpenCode uses named agents and defaults with.agent to build.
with.model must use provider/model.
Headless runs reject permission requests by default unless with.permission_mode is auto_approve.
OpenCode steps require a local OpenCode CLI installation. Verify with opencode --version.
cursor communicates with Cursor Agent through ACP and returns the final plain-text assistant response.
If you need structured JSON from Cursor, use a shell step to run Cursor headless instead.
with.workflow must be a static string, not a template expression.
String with.inputs values are rendered as templates. Non-string YAML literals such as booleans and numbers pass through unchanged.
steps.<workflow_step_id>.result is null in v1.
workflow steps may set retry.