Skip to main content
Read retained bead command output before deciding whether work succeeded or needs another attempt. A successful transport response and a successful remote exit are separate facts.

Inspect execution results

Check exit_code, stream text, byte counts, and completeness fields. Binary stream pages declare their encoding. Bounded prefixes can be incomplete after timeout or cancellation; observed byte counts do not prove the command finished.

Read retained output

Complete exec stdout and stderr are retained for 600 seconds. JSON results include next cursors and download handles when needed. Replace CURSOR or HANDLE with the returned value:
Result retrieval reads retained bytes. It does not rerun a command or mutation. Plain CLI exec prints full stdout and stderr without requiring manual pagination.

Continue MCP results

Use bead:result_read with a returned result_cursor. Large API results can be complete serialized JSON split into UTF-8 fragments: concatenate fragment text before parsing the original JSON. Exhaust the retained result before advancing the upstream nextToken pagination cursor. Authenticated download handles are short-lived and require your existing bead bearer credential. They do not grant access on their own. Read CLI cursors with bead result on the computer that ran the command. Read MCP cursors with bead:result_read, or download through the returned URI with the same bead credential that created the handle; MCP handles cannot be read with local bead result.

Recover an uncertain operation

If a response is lost, inspect machine state and any recorded output before repeating commands with external effects. Retain lifecycle idempotency UUIDs before dispatch and reuse the same UUID with the same request for a retry. Runner events have their own replay cursor. Swarm output has separate bounds and retention. For bead run, keep the printed machine ID and check cleanup if deletion was unconfirmed.