paperclipai/paperclip · error
restart_not_required
Error message
restart_not_required
What it means
4xx sentinel on POST /dev-server/restart: the persisted dev-server status shows the server is neither dirty nor above the changed-path threshold, so a restart is not required and the request is refused.
Source
Thrown at server/src/routes/health.ts:156
router.post("/dev-server/restart", async (req, res) => {
const actorType = "actor" in req ? req.actor?.type : null;
if (opts.deploymentMode === "authenticated" && actorType !== "board") {
res.status(403).json({ error: "board_access_required" });
return;
}
const persistedDevServerStatus = readPersistedDevServerStatus();
if (!persistedDevServerStatus) {
res.status(404).json({ error: "dev_server_supervisor_unavailable" });
return;
}
const restartRequired =
persistedDevServerStatus.dirty ||
persistedDevServerStatus.changedPathCount > 0 ||
persistedDevServerStatus.pendingMigrations.length > 0;
if (!restartRequired) {
res.status(409).json({ error: "restart_not_required" });
return;
}
if (!db) {
res.status(503).json({ error: "database_unavailable" });
return;
}
const requestId = randomUUID();
const requestedAt = new Date();
const serverInfo = opts.serverInfo ?? getServerInfoSnapshot();
const preflightActiveRunIds = await db
.select({ id: heartbeatRuns.id })
.from(heartbeatRuns)
.where(eq(heartbeatRuns.status, "running"))
.then((rows) => rows.map((row) => row.id));
let intent: Awaited<ReturnType<typeof writeHotRestartIntent>> | null = null;
try {View on GitHub (pinned to 01ad858492)
Solutions
- Include the required field(s) in the request path, query, or body as named by the error message, then retry.
- Check the API contract in packages/shared validators for the exact required shape of this endpoint.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/health.ts:113 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-08-18).
Data as JSON: /api/errors/2369b3d0afe24753.
Report an issue: GitHub.