Kibotos

Errors

This page helps you find out what an error means and what to do next. Look it up by the failure reason a program receives, or by the symptom you see. The linked pages explain each case in full.

Failure reasons

Most API errors carry an ErrorDetail, and its reason is the first field to check. When retryable is true, trying again may succeed: with a new command ID if the details have command_settled, otherwise with the same one. An error with no ErrorDetail has only its Connect code and message. See Error format.

reasonMeaningWhat to do
INVALID_REQUESTThe request is malformed or breaks a limitFix the request. See Defaults and limits
NOT_FOUNDThe object or path does not existCheck the ID or path. A deleted Workspace can still be read by ID
CONFLICTThe object's state or revision does not allow this request, or the command ID was used with different inputRead the object again and decide from its current state. See Expected revisions
RESOURCE_EXHAUSTEDNo node has room, or a limit such as disk space or stream count was reachedCheck retryable. Retry later for capacity. Otherwise free the resource or reduce the request
CAPABILITY_UNAVAILABLEThe guest, the node, or the deployment lacks what this needs, such as a newer guest or a configured metrics storeRead message. For an older guest, restart the Workspace. Otherwise ask the deployer
UNSUPPORTEDThe operation does not apply here, such as resizing a process with no terminal, or the other side lacks itRead message. For a missing feature, see Querying capabilities first
UNAUTHENTICATEDThe identity or credential was not acceptedCheck that the certificate has not expired. See Authentication
PERMISSION_DENIEDThe caller may not do this, or the guest refused the file or process operationCheck the identity, the credential's scopes, and the guest user
SESSION_EXPIREDThe session credential expiredRequest a new credential with a new command ID. The Go SDK does this for you. See Caching and renewing the credential
SESSION_REVOKEDThe credential was revoked, or the Workspace stopped or was deletedCheck the Workspace's state, then request a new credential
UNAVAILABLEA dependency is unavailable, the command is still running, or the Workspace's execution endedWhen retryable is true, send the request again: with a new command ID if the details have command_settled, otherwise with the same one. When it is false, read the Workspace's state
TIMED_OUTThe operation did not finish in timeRead the object's state and the command's result before you retry
CANCELLEDAnother command replaced this one, such as a force stop or a delete, or the request was cancelledRead the object's state, and send the request again if you still need it
PROTOCOL_INCOMPATIBLEA node or guest gave an answer that breaks the contractReport it to the deployer with the command ID. Mismatched versions are one possible cause; see Reinstall and upgrade
VOLUME_LOSTThe Volume bound to the Workspace is LOST. This is not retryableBind another Volume or delete the Workspace. See Guarantees and limits
INTERNALAn unexpected server errorRetry if retryable is true. Otherwise report it to the deployer with the command ID

Workspace states

StateWhat to do
FAILEDForce stop, then start. See Recovering from FAILED
UNKNOWNWait for the system to confirm the result, or resend the original command ID. See Operations by state
AVAILABLE, but requests time outThe guest may be stuck. See Responsiveness of the guest

Common symptoms

SymptomLikely causeDetails
spec.template and spec.resources are requiredA native API create without Resources. Only kibo fills in defaultsCreating a Workspace
exactly one valid pipe or PTY mode is requiredA native API Start without ModeCommands and terminals
managed identity directory … must not grant group or other accessThe identity directory is readable by othersConnect to ctrl
Could not resolve host, or bad address in the guestWorkspaces have no network access by defaultNetworking overview
A connection fails at once, or an Egress or Resolver faultThe network policy or your proxy or DNS upstreamNetwork troubleshooting
Requests as the default user fail with CONFLICT, while root worksThe Template's user was removed in the guestDefault user unavailable
Processes barely make progressThe Workspace is out of memoryResources and health
A file write returns 413 or resource_exhaustedThe file is over 1 GiB, or the disk is fullFiles
kibo exits with a code of its ownSee the table of categorieskibo exit codes

E2B SDK errors

What you seeMeaningDetails
501, or SandboxError: 501: unimplemented: …The gateway does not provide this capability. The message names itNot supported
404 for a sandbox you know existsThe gateway does not implement this endpointHow unsupported calls fail
404 template catalog record not foundThe deployment has no Template with this nameMigrate from E2B
502 on create or connectThe sandbox was not running within 90 seconds and may still start, or the call failed in Kibotos. Retry with the same Idempotency-KeyCreating a sandbox
502 from queries and pauseThe sandbox failedUnplanned pauses, restarts, and failures
503 with resource_exhaustedNo node has roomInsufficient capacity
409 from connectThe sandbox failed and cannot be started as it isResuming
fetch failedThe certificate is not trusted, or the domain does not reach the gatewayQuickstart
CommandExitErrorThe command exited with a non-zero codeCommands and terminals

Troubleshooting by topic

Next steps

On this page