# Execution controls

> Answer paused runs, send follow-ups, stop executions, and retry.

Source: https://docs.generalinput.com/cli/resource/workflow/control



```sh
geni workflow pending-input exec_123 --workflow wf_123 --json
geni workflow resume exec_123 --workflow wf_123 --answers '{"question-tool-call-id":"Yes, use the September report"}'
geni workflow continue exec_123 --workflow wf_123 --message "Also include the regional breakdown"
geni workflow cancel exec_123 --workflow wf_123
geni workflow retry exec_123 --workflow wf_123 --json
```

`pending-input` returns the execution and its conversation, including question tool-call ids, status, and whether it can be resumed, continued, cancelled or retried. Read this before answering. `resume --answers` takes a JSON object mapping every open question's tool-call id to an answer string. Missing or stale answers are rejected.

`continue --message` sends a follow-up to a finished agent workflow or app-agent execution. `cancel` stops an active or paused execution; it does not undo actions already completed. `retry` starts a new execution using the original payload, source trigger and app-agent identity, so it can repeat external actions.

All commands accept `--workflow <id>`, `--dir <path>` and `--json`. If `--workflow` is omitted, the id comes from the resource marker in `--dir` (cwd by default). Run access is required for mutations; reading needs read access.

When [`workflow test`](/cli/resource/workflow/test) returns `awaiting_input`, use these commands to finish the run. Follow progress with [`workflow execution`](/cli/resource/workflow/execution).
