paperclipai/paperclip · error · ToolRuntimeSupervisorError

runtime_capacity_unavailable

runtime_capacity_unavailable

Error message

No local stdio runtime capacity is currently available

What it means

assertCapacity limit: the number of live runtime slots for the company or host reached maxCompanySlots/maxHostSlots. A runtime_deferred audit event names which bound tripped, and the 429 runtime_capacity_unavailable tells the caller to back off — slots free up as idle processes exit; retry later rather than spawning more.

Source

Thrown at server/src/services/tool-runtime-supervisor.ts:298

    if (companyCount >= maxCompanySlots || hostCount >= maxHostSlots) {
      const reasonCode = companyCount >= maxCompanySlots ? "runtime_company_capacity_exhausted" : "runtime_host_capacity_exhausted";
      await writeAudit({
        companyId: input.companyId,
        runId: input.runId,
        issueId: input.issueId,
        agentId: input.agentId,
        action: "runtime_deferred",
        outcome: "failure",
        reasonCode,
        details: {
          slotKey: input.slotKey,
          companyCount,
          hostCount,
          maxCompanySlots,
          maxHostSlots,
        },
      });
      throw new ToolRuntimeSupervisorError(
        429,
        "No local stdio runtime capacity is currently available",
        "runtime_capacity_unavailable",
        { reasonCode, companyCount, hostCount, maxCompanySlots, maxHostSlots },
      );
    }
  }

  function assertRestartAllowed(row: typeof toolRuntimeSlots.$inferSelect, metadata: Record<string, unknown>) {
    const at = now();
    const suppressedUntil = dateValue(metadata.restartSuppressedUntil);
    if (suppressedUntil && suppressedUntil.getTime() > at.getTime()) {
      throw new ToolRuntimeSupervisorError(
        429,
        "Runtime restart storm suppression is active",
        "runtime_restart_suppressed",
        { slotId: row.id, suppressedUntil: suppressedUntil.toISOString() },
      );

View on GitHub (pinned to 120ae5428f)

Solutions

  1. No stdio runtime slots are free. Wait for running runtimes to finish or increase configured runtime capacity.
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at server/src/services/tool-runtime-supervisor.ts:298 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18). Data as JSON: /api/errors/5d9fd5b408fa1009. Report an issue: GitHub.