Executions
An execution is the persistent thread of work on a single task. It holds the visibility, ownership, comments, and shared history — and it wraps one or more runs, the ephemeral container lifecycles where the actual agent work happens.
Every execution is private by default: only you can see it until you explicitly share it, hand it off, or flip its visibility to the wider tenant. See Collaboration for sharing and hand-off and Run queueing for what happens when you're at a concurrency cap.
Execution Lifecycle#
Pending → Running → Completed
Queued ↗ ↓ → Failed
Awaiting → Cancelled (manual)
Approval- Pending — Container is starting up
- Queued — Waiting for another execution on the same project to finish (one at a time per project)
- Running — Agent is actively working
- Awaiting Approval — Plan-mode gate: the worker has proposed a plan and is waiting for you to approve or reject before writing any code. Only occurs when plan mode is
alwaysor whenautodetermines a plan is needed. See Plan Mode. - Completed — Agent finished successfully
- Failed — Agent encountered an error (can be retried)
- Cancelled — Manually stopped by a user
Runs#
An execution holds 1 or more runs — each run is a single ephemeral container lifecycle. A new run is created when:
- The execution is retried after a failure
- The execution is resumed after a cancel
- You send a follow-up message that triggers a new container turn
Each run tracks its own status, cost, and token usage. The Runs tab in the execution view lists all runs in order, letting you inspect what happened in each container lifecycle. See Run queueing for how concurrency limits apply across runs.
Starting an Execution#
From the Command Center, click Start Task to open the task dialog:
- Prompt — Describe the task you want the worker to complete
- Plan mode — Choose
always,never, orauto(default:always). See Plan Mode. - Advanced options (optional) — Override the default provider and model for this execution
Permission required: execution:create
How a Worker Runs#
Each execution is handled by a single autonomous worker. The worker:
- Reads project context from
AGENTS.mdat the workspace root (see Project context) on every run - Receives a per-execution append-only progress log alongside the project context, so it has continuity across retries and follow-up turns
- Uses tool calls (file reads/writes, terminal commands, search) to complete the task
- Spawns sub-agents for parallel work when needed — each sub-agent's output is attributed in the message stream
Plan mode controls whether the worker proposes a plan and pauses at
Awaiting Approval before writing code. See Plan Mode for details.
Real-Time Streaming#
While running, the execution streams in real-time:
- Text responses — The agent's reasoning and explanations
- Extended thinking — The agent's internal reasoning process (collapsible)
- Tool calls — File operations, terminal commands, and other actions
- Status updates — Container lifecycle events
Tool Call Display#
Tool calls are grouped by type and show:
- File writes/edits — Inline
+N/-Mline count stats in the header, with an expandable unified diff view (green for additions, red for removals) - Terminal commands — Command and output display
- File reads — Collapsible file content
- Search results — Glob and Grep results with context
Subagent Attribution#
When the agent spawns subagents for parallel tasks, each message shows a badge indicating which agent produced it.
Turn-Based Chat#
Executions support multi-turn conversations:
- Start with an initial prompt
- After the agent completes a turn, send a follow-up message to continue
- Each turn is visually separated with dividers
- Full conversation context is preserved across turns
To send a follow-up message to a completed execution, use the new-run composer at the bottom of the Runs tab. Each follow-up creates a new Run inside the same Execution, preserving full conversation context.
Execution Controls#
| Action | Description | Permission |
|---|---|---|
| Stop | Cancel a running execution | execution:cancel |
| Retry | Restart a failed execution with the same prompt | execution:create |
| Archive | Hide from default views (non-destructive) | execution:cancel |
| Unarchive | Restore an archived execution | execution:cancel |
| Approve plan | Approve a plan proposed by the worker so it begins writing code | execution:create |
| Revise plan | Send revision feedback so the worker proposes an updated plan | execution:create |
| Reject plan | Reject the proposed plan and stop the execution | execution:create |
Cost Tracking#
Each execution tracks:
- Input tokens — Tokens sent to the model
- Output tokens — Tokens generated by the model
- Cost (USD) — Estimated cost per turn and total
Token counts and costs are displayed per turn and summarized at the execution level.
Results Tab#
After completion, the Results tab shows an aggregated view of all file changes made during the execution. Each changed file displays:
- File path
- Lines added/removed (
+N/-M) - Expandable unified diff
This provides a quick overview of everything the agent modified.
Execution Summary#
After completion, each execution shows:
- Duration — Total wall-clock time
- Turn count — Number of conversation turns
- Tool call count — Total tool invocations
- Token usage — Input/output token counts
- Cost — Total estimated cost in USD
Agent Timeline#
A visual timeline shows agent activity over the execution's duration, helpful for understanding when the agent was actively working versus waiting.
Searching Executions#
Use the global search to find executions across all projects by prompt text.
Comments#
Add comments to executions for team communication. Comments are separate from the agent conversation and visible to all team members. See Comments.