Skip to main content
For bead sandbox troubleshooting, start with the machine state and the structured error. Keep the machine or execution identifier so you can inspect the same work.

A credential is rejected

For HTTP 401, check expiry, the API origin, and the selected credential file. BEAD_API_KEY overrides a saved file. Private credential files must have mode 0600. For a permission refusal, use a credential with the required scope. Ownership and billing administration require admin authority. See Agent authentication.

A machine cannot start

For HTTP 429, read the named limit, maximum, usage, reset_at, and next_action. Honor Retry-After when present. Resource limits may require releasing capacity rather than waiting for a timer. free_capacity_full means trial capacity cannot admit the request. Follow its retry guidance or add credit for paid admission. See Limits and availability. For HTTP 402 insufficient_credit, inspect reservations and funded deadlines. Adding credit alone does not extend a temporary machine’s timeout. See Credit and payment problems.

A machine does not answer

Inspect readiness before sending commands. machine_unavailable is retryable and carries retry guidance. machine_lost is terminal and marks the response retryable: false; repeatedly reconnecting cannot restore that machine. Check Service status, then Connection problems for forwarding or desktop-specific failures.

A command failed

Read the command’s exit code, stdout, and stderr. A command can fail even when HTTP transport succeeds. Connect terminal errors can arrive with HTTP 200, so inspect the protocol result as well. CLI guest errors preserve bounded status and response evidence. truncated means part of the response was omitted; incomplete means the response could not be fully read.

The reply was lost

Do not blindly repeat a command that may have run. Recover output using its execution or result identifier. For worktrees, use bead worktree status --execution ID; see Worktree problems. An idempotency mismatch means the request changed under the same key. Keep the original request and inspect its outcome before starting different work. See Command output and recovery.