Results

rwx results --json returns a run and its tasks as JSON. This page describes every field in that output. See rwx results for how to invoke the command and the available flags. To find a run ID to pass, list recent runs with rwx runs list.

The shape depends on what you request:

  • A run (e.g. rwx results <run-id>): the run-level fields plus the full Tasks tree. See Run.
  • A single task (e.g. rwx results <run-id> --task <key>): a single Task object, with no run-level fields.

Parsing with jq

--json pairs well with jq. Keep the two shapes above in mind, and note that tasks nest recursively under Subtasks — use recurse(.Subtasks[]?) to walk the whole tree rather than just .Tasks[].

# Overall run result
rwx results <run-id> --json | jq -r '.Status.Result'

# Every command task as "key<tab>result"
rwx results <run-id> --json | jq -r '.Tasks[] | recurse(.Subtasks[]?) | select(.TaskType == "command") | "\(.Key)\t\(.Status.Result)"'

# Just the failed command tasks, at any depth
rwx results <run-id> --json | jq -r '[.Tasks[] | recurse(.Subtasks[]?)] | .[] | select(.TaskType == "command" and .Status.Result == "failed") | .Key'

# Output values across all command tasks
rwx results <run-id> --json | jq -r '.Tasks[] | recurse(.Subtasks[]?) | select(.TaskType == "command") | .Outputs.Values[]? | "\(.Key)=\(.Value)"'

# A single task's result (task-scoped shape)
rwx results <run-id> --task <key> --json | jq -r '.Status.Result'

Top-level fields

Every result includes these fields:

fieldtypedescription
IDstringThe ID of the run or task you requested.
RunIDstringPresent for a run-scoped result (equal to ID).
TaskIDstringPresent for a task-scoped result (equal to ID).
ResultStatusstringThe result of the requested run or task.
For a run, this will be one of: succeeded, debugged, sandboxed, failed, no_result.
For a task, this will be one of: succeeded, failed, no_result.
CompletedbooleanWhether the run/task has reached a terminal state (e.g. completed or cancelled).
ResultPromptstringThe failure-investigation prompt. Present when one is available (for example, with --wait). See agentic run loops.

Run

Returned when you request a run. It has the top-level fields described above, plus the run's own fields, and the full Tasks tree.

Some attributes are only present for certain types of runs, depending on how the run was triggered. For example, attributes related to repositories and merge requests are only present for runs triggered by a git event.

Attributes

attributetypedescription
StatusRun Status
StartedAtstring (ISO 8601) or null
CompletedAtstring (ISO 8601) or null
CompletedRuntimeSecondsinteger or null
RepositoryNamestring
RepositorySlugstring
RepositoryUrlstring
Branchstring or null
Tagstring or null
CommitShastring
AuthorstringMay be a name, email address, or GitHub username, depending on the trigger.
CommitMessagestring
RwxUserEmailstring or null
DefinitionPathstring
TriggerstringOne of cache-rebuild, cli, cron, dispatch, github.push, github.pull_request, gitlab.push, gitlab.tag-push, gitlab.merge-request, forgejo.push, forgejo.pull-request, origin.push, origin.pull-request, webhook.
TargetedTaskKeysstring[]Only present for runs that target specific tasks.
MergeRequestUrlstring or nullVendor-agnostic (GitHub, GitLab, Forgejo/Codeberg, Cursor Origin)
MergeRequestTitlestring or nullVendor-agnostic (GitHub, GitLab, Forgejo/Codeberg, Cursor Origin)
MergeRequestNumberinteger or nullVendor-agnostic (GitHub, GitLab, Forgejo/Codeberg, Cursor Origin)
MergeRequestLabelstring or nullVendor-agnostic (GitHub, GitLab, Forgejo/Codeberg, Cursor Origin)
MessagesMessage[]Includes any messages or tips that would have been shown in the UI.
Titlestring
VcsProviderstringOne of github, gitlab, forgejo, origin.
Initobject or nullAny init parameters passed to the run (returned as key/value pairs)
WebhookDefinitionKeystring or nullSee webhook triggers.
DispatchDefinitionKeystring or nullSee dispatch triggers.
StatusChecksStatus ChecksThe status checks the run's definition produces.
TasksTask[]

Run status

attributetypedescription
ResultstringOne of succeeded, debugged, sandboxed, failed, no_result.
ExecutionstringOne of waiting, in_progress, finished, aborted.
WaitingSubStatusstringOne of waiting_for_lease, waiting_for_manual_start, not_applicable.
AbortedSubStatusstringOne of cancelled, timed_out, internal_failure, initialization_error, not_applicable.

Task

Each entry in a run's Tasks (and in a task's Subtasks), and the top-level object when you request a single task. Only the latest attempt of each task is included; AttemptNumber / LatestAttemptNumber / AttemptCount expose the attempt history.

Every task carries an ID. When a task is the top-level result, it also carries TaskID (equal to ID) and the other top-level fields.

Attributes

attributetypedescription
IDstringThe task ID.
Keystring
ScopedKeystringThe task's key prefixed by the scope it ran in, uniquely identifying it within the run. For a task outside an embedded run this equals Key. Dependency and tool cache references use this form.
AttemptNumberinteger
LatestAttemptNumberinteger
AttemptCountinteger
TaskTypestringOne of command, parallel, package, embedded-run, or app-config.
CacheKeystring or nullSHA of the key used to determine if the task has a cache hit.
CacheHitFromTaskIDstring or nullIf the given task was a cache hit, this is the ID of the task whose output was re-used.
StatusTask Status
StartedAtstring (ISO 8601) or null
DebugReadyAtstring (ISO 8601) or nullOnly present when a task was debugged.
DebugStartedAtstring (ISO 8601) or nullOnly present when a task was debugged.
DebugEndedAtstring (ISO 8601) or nullOnly present when a task was debugged.
CompletedAtstring (ISO 8601) or null
CompletedRuntimeSecondsinteger or null
PreparingRuntimeSecondsinteger or nullThe duration between when the task started and when execution started (e.g. when layers for the task are assembled).
ExecutionRuntimeSecondsinteger or nullThe duration of the user-provided code execution.
PostProcessingRuntimeSecondsinteger or nullThe duration of the post-processing of the task's output (e.g. uploading artifacts and cleaning up).
SandboxReadyAtstring (ISO 8601) or nullOnly present when a task was sandboxed.
SandboxStartedAtstring (ISO 8601) or nullOnly present when a task was sandboxed.
SandboxEndedAtstring (ISO 8601) or nullOnly present when a task was sandboxed.
MessagesMessage[]Any messages that would have been shown in the UI.
EnvobjectThe sanitized environment variables available to the task.
ArtifactCountintegerThe number of artifacts produced by the task. To pull artifacts, see Artifacts.
TestCountinteger or nullSee test results.
FailedTestCountinteger or nullMore actionable information on failures will be in the LLM-friendly Prompt node.
TipsTip[]
Initobject or nullSimilar to run-level init key/value pairs - only relevant for embedded runs.
PackageParamsobject or nullKey/value pairs specifically exposed to subtasks of packages.
ExecutionStartedAtstring (ISO 8601) or null
ExecutionFinishedAtstring (ISO 8601) or null
RunnerRunner Specification or null
ApproximateLogBytesinteger
OutputsOutputs
RawDefinitionstring (YAML)The YAML definition of the task as of the time it ran (before expressions have been evaluated).
SourcePositionSource Position or nullThe character offsets of the task's block in the run definition file, not line numbers.
Dependenciesstring[]The keys of every task this task depends on, whether through use, after, or an expression.
ScopedDependenciesstring[]The same dependencies as executed task keys. Each one matches the ScopedKey of a task in the run.
ToolCachesTool CachesThe tool caches in play for the task.
ResolvedWorkspaceFilterWorkspace Filter Entry[] or nullThe task's filter as the engine applied it, after expressions were resolved. null when the task has no filter.
SubtasksTask[]

Task status

attributetypedescription
ResultstringOne of succeeded, failed, no_result.
ExecutionstringOne of not_generated, waiting, ready, running, finished, aborted, skipped, user_error.
AbortedSubStatusstringOne of cancelled, subtasks_retried, terminated, timed_out, approval_request_denied, background_process_failure, before_hook_failure, after_hook_failure, internal_failure, spot_interrupted, app_failure, not_applicable.
FinishedSubStatusstringOne of cache_hit, executed, sandbox_closed, app_stopped, not_applicable.
WaitingSubStatusstringOne of not_ready, waiting_for_approval, waiting_for_duplicate_task, waiting_for_lease, waiting_for_app, not_applicable.

Message

Appears in a run's Messages, a task's Messages, and a Tip's Details.

attributetypedescription
TypestringThe message category. For runs, one of error, cancelled_reason, waiting_for_manual_start, warning. For tasks, one of user_error, produced_error, timed_out, cancelled_reason, skip_reason, invalid_dynamic_tasks, warning, info.
Messagestring
Advicestring or null
FileNamestring or null
Lineinteger or null
Columninteger or null
StackTraceStack Frame[] or null
Framestring or null

Stack frame

An entry in a Message's StackTrace.

attributetypedescription
FileNamestring or null
Lineinteger or null
Columninteger or null
Namestring or null

Outputs

attributetypedescription
ValuesOutput Value[]
LinksOutput Link[]

Output value

See output values.

attributetypedescription
Keystring
Valuestring

See Links.

attributetypedescription
Namestring
Urlstring

Status checks

See status checks.

attributetypedescription
DefaultDefault Status Check
CustomCustom Status Check[]

Default status check

attributetypedescription
Enabledboolean
Namestring or null
StartManuallyBehaviorstringOne of succeeded, waiting. See start manually.

Custom status check

attributetypedescription
Namestring or null
TaskKeysstring[]The tasks the status check covers.

Tool caches

See tool caches.

attributetypedescription
DeclaredByTaskTool Cache Usage[]The tool cache the task declares with tool-cache. A task declares at most one, so this holds zero or one entry.
InheritedFromDependenciesTool Cache Usage[]The tool caches declared by tasks upstream of this one.

Tool cache usage

attributetypedescription
NamestringThe name of the tool cache.
TaskIDstringThe ID of the task that used the tool cache.
ScopedTaskKeystringThe ScopedKey of that task.

Workspace filter entry

An entry in a task's ResolvedWorkspaceFilter. See filtering files.

attributetypedescription
Pathstring
CacheKeystringOne of included, excluded.

Source position

Where a task's block sits in the run definition file. StartOffset and EndOffset are character offsets, not line numbers. Slicing the file's text from StartOffset to EndOffset gives the task's RawDefinition.

Sort a run's tasks by StartOffset to read them in the order they appear in the definition file. That needs no access to the file itself.

The offsets count UTF-16 code units, so a file that contains any character outside the Basic Multilingual Plane, such as an emoji, shifts them relative to a byte offset. Convert with a UTF-16 aware slice.

attributetypedescription
StartOffsetintegerThe offset of the first character of the block.
EndOffsetintegerThe offset just past the last character, exclusive.

Runner specification

See Runner Specifications.

attributetypedescription
Cpusinteger
MemoryGbinteger
DiskSizeGigabytesinteger

Tip

attributetypedescription
Keystring
DetailsMessage