paperclipai/paperclip · error · ToolRuntimeSupervisorError
runtime_control_unsupported
runtime_control_unsupported
Error message
Runtime slot control is only supported for local stdio slots
What it means
stopSlot capability guard: the slot exists but its runtimeKind is not local_stdio, and slot control (stop/restart) is only implemented for local stdio runtimes. The operation is refused rather than no-op'd so callers know the slot cannot be managed through this path.
Source
Thrown at server/src/services/tool-runtime-supervisor.ts:784
},
async stopSlot(input: {
companyId: string;
slotId: string;
runId?: string | null;
agentId?: string | null;
reason?: string;
}): Promise<ToolRuntimeSlotView> {
const [row] = await db
.select()
.from(toolRuntimeSlots)
.where(and(eq(toolRuntimeSlots.companyId, input.companyId), eq(toolRuntimeSlots.id, input.slotId)))
.limit(1);
if (!row) {
throw new ToolRuntimeSupervisorError(404, "Runtime slot not found", "runtime_slot_not_found", { slotId: input.slotId });
}
if (row.runtimeKind !== "local_stdio") {
throw new ToolRuntimeSupervisorError(
422,
"Runtime slot control is only supported for local stdio slots",
"runtime_control_unsupported",
{ slotId: row.id, runtimeKind: row.runtimeKind },
);
}
const at = now();
const [stopped] = await db
.update(toolRuntimeSlots)
.set({
status: "stopped",
stoppedAt: at,
idleDeadlineAt: null,
idleExpiresAt: null,
healthStatus: "ok",
healthMessage: "Runtime slot stopped.",
metadata: {
...asRecord(row.metadata),View on GitHub (pinned to 120ae5428f)
Solutions
- Slot control operations apply only to local stdio slots; remote slots are managed by the remote server.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/services/tool-runtime-supervisor.ts:784 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/f5dbec0cd706520d.
Report an issue: GitHub.