paperclipai/paperclip · error
Revision not found
Error message
Revision not found
What it means
Lookup guard on the config-revision detail route: the requested revisionId does not match any stored configuration revision for this agent, so the route returns 404 after the agent itself was found and access checked.
Source
Thrown at server/src/routes/agents.ts:3478
const owner = await readOwnerLoginSession(companyId, type, sessionId, ownerUserId);
if (!owner) {
res.status(404).json({ error: "Adapter login session not found" });
return;
}
res.json(owner);
},
);
// Cancel a login session. The owner aborts the in-flight run. A non-owner or a
// cross-company caller receives a 404.
router.post(
"/companies/:companyId/adapters/:type/login-sessions/:sessionId/cancel",
async (req, res) => {
const companyId = req.params.companyId as string;
const type = req.params.type as string;
const sessionId = req.params.sessionId as string;
const ownerUserId = await assertCanManageAdapterLogin(req, companyId);
assertDeviceLoginAdapter(type);
// Scope the cancel to this company, adapter, and owner. A non-owner and a
// cross-company caller both receive a 404 and cannot cancel a session.
const owner = await readOwnerLoginSession(companyId, type, sessionId, ownerUserId);
if (!owner) {
res.status(404).json({ error: "Adapter login session not found" });
return;
}
// Durably release the company slot. The durable write terminates the row
// even when this process does not own the in-flight run, so a cross-process
// cancel or a cancel after a restart does not leave the slot held until the
// expiry. The reaper deletes the sandbox and finalizes the terminal.
const cancelled = await adapterLoginService.cancelOwnerSession(sessionId, companyId, ownerUserId);
// Abort the in-flight run this process owns, so the local login stops at
// once instead of waiting for the reaper. A run in another process, or an
// already-terminal run, has no controller here.
adapterLoginAbortControllers.get(sessionId)?.abort();View on GitHub (pinned to 01ad858492)
Solutions
- Verify the revision id exists for this agent; list revisions and use a valid one.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/agents.ts:3024 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/a6160cfadd08eca0.
Report an issue: GitHub.