Execution & Attempts
Start AI agent executions, track their lifecycle, and compare multiple attempts per ticket.
Starting an Execution
An execution is a single AI agent run against a ticket. To start one, open a ticket from the Kanban board and click the Run button in the ticket inspector.
Click a ticket to open the inspector panel.
Click Run to open the execution launcher.
Select the engine, model, and branching strategy.
Click Start. The CLI launches in an integrated terminal and begins working.
You can also start executions directly from the Chat view by asking the assistant to run a ticket.
Engine & Model Selection
Each execution uses one engine (the underlying AI CLI) and one model. You choose both before starting.
| Engine | Provider | Example Models |
|---|---|---|
| Claude Code | Anthropic | opus sonnet |
| Codex | OpenAI | o3 o4-mini |
| Cursor | Cursor | auto |
The project default engine and model are configured in Engine & Model Config. You can override them per-execution in the launcher dialog.
Execution Lifecycle
Every execution moves through a defined set of states. The current state is reflected in the ticket inspector and the active agents panel.
Running
The AI agent is actively working. The terminal shows live output, the timer counts up, and token usage updates in real time.
Paused
The agent is waiting for user input or approval. The config bar shows a paused indicator. Respond in the terminal or the chat panel to resume.
Completed
The agent finished its work. The transcript is saved and the ticket can be moved to Done or reviewed for a follow-up attempt.
Failed
The agent encountered an error or was stopped manually. Review the transcript for diagnostics, then start a new attempt with adjusted settings.
Multiple Attempts per Ticket
A single ticket can have many attempts. Each attempt is an independent execution with its own status, events, transcript, and git context. This lets you:
- Retry with different settings — switch engines, models, or branching strategies between attempts.
- Compare approaches — run the same ticket with Claude Code and Codex side by side, then pick the best result.
- Iterate incrementally — use one attempt for exploration and analysis, then follow up with an implementation attempt.
To start a new attempt, click Run again on the same ticket. Previous attempts remain accessible in the execution history.
Each attempt creates its own git worktree when branching is enabled, so parallel attempts never conflict.
Execution History & Transcript
Every attempt is recorded. Open the ticket inspector and scroll to the attempts list to browse all past executions.
Each attempt record includes:
| Field | Description |
|---|---|
| Status | Running, Paused, Completed, or Failed |
| Engine / Model | Which CLI and model were used |
| Duration | Total wall-clock time for the run |
| Token Usage | Input and output tokens consumed |
| Branch | Git branch or worktree the attempt ran on |
| Events | Timestamped lifecycle events (started, paused, resumed, completed) |
| Transcript | Full conversation log between the agent and the CLI |
Click any past attempt to view its full transcript. The transcript preserves the entire agent conversation, including tool calls, code changes, and reasoning steps.
Config Bar
While an execution is running, the config bar sits above the terminal and displays real-time execution metadata.
| Element | What it shows |
|---|---|
| Branch toggle | Current branch name. Click to switch the view between the worktree branch and main. |
| Timer | Live elapsed time since execution started. Pauses when the agent is paused. |
| Token counter | Running total of input + output tokens consumed by the current attempt. |
The config bar also surfaces the engine and model labels so you can confirm at a glance which configuration the current attempt is using.
Auto-Save & Resume
AgentsInFlow persists execution state continuously. If the app quits, crashes, or your machine restarts, in-progress executions are recovered automatically on next launch.
- Terminal output and transcript are saved as the execution progresses — nothing is lost on unexpected exit.
- On relaunch, the app detects interrupted executions and reconnects to the CLI process if it is still running.
- If the CLI process ended while the app was closed, the attempt is marked as completed or failed based on exit code.
Resume depends on the underlying CLI supporting session continuity. Claude Code supports --resume natively. For other engines, auto-save preserves the transcript but may not reconnect a live session.