paperclipai/paperclip · error · SandboxCrTimeoutError
Sandbox ${namespace}/${name} did not reach Ready phase withi
Error message
Sandbox ${namespace}/${name} did not reach Ready phase within ${timeoutMs}ms What it means
Error "Sandbox ${namespace}/${name} did not reach Ready phase within ${timeoutMs}ms" thrown in paperclipai/paperclip.
Source
Thrown at packages/plugins/sandbox-providers/kubernetes/src/sandbox-cr-orchestrator.ts:299
throw new Error(
`Sandbox ${namespace}/${name} failed: ${mapped.reason ?? (failedCondition?.reason as string) ?? "unknown reason"} — ${mapped.message ?? (failedCondition?.message as string) ?? ""}`,
);
}
if (phase === "Terminating") {
// A Sandbox being torn down will never transition to Ready. Polling
// until the deadline would burn the full timeoutMs (potentially
// 30+ minutes) before throwing a generic timeout. Fail fast instead
// so the caller can surface a clear "the lease is being released"
// error and decide whether to retry against a fresh Sandbox.
throw new Error(
`Sandbox ${namespace}/${name} is Terminating — cannot wait for Ready`,
);
}
// Pending — keep polling
await sleep(pollMs);
}
throw new SandboxCrTimeoutError(namespace, name, opts.timeoutMs);
}
/**
* Sandbox CR-backed conformance to SandboxOrchestrator.
*
* waitForCompletion semantics change: for this backend, "completion" means
* "pod is up and Ready to exec into" — NOT "workload finished". The actual
* command execution and its completion is handled by execInPod().
*/
export const sandboxCrOrchestrator: SandboxOrchestrator = {
claim: createSandboxCr,
getStatus: getSandboxCrStatus,
findPod: findPodForSandbox,
streamLogs: streamSandboxLogs,
release: deleteSandboxCr,
waitForCompletion: waitForSandboxReady,
};
View on GitHub (pinned to 120ae5428f)
Solutions
- Increase the timeout or inspect pod events/logs for why Ready was not reached.
When it happens
Trigger: Thrown at packages/plugins/sandbox-providers/kubernetes/src/sandbox-cr-orchestrator.ts:299 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18).
Data as JSON: /api/errors/8af1f4ffdcf3a345.
Report an issue: GitHub.