paperclipai/paperclip · error
createdByRunId is not valid for this work product actor
Error message
createdByRunId is not valid for this work product actor
What it means
403 from resolveWorkProductCreatedByRunId: the run id passes the actor match but the run record fails validation — it does not belong to the same company, agent company, or agent — so it is not a valid attribution for this actor.
Source
Thrown at server/src/routes/issues.ts:5159
? paperclipWake.reason
: null;
if (wakeReason !== "source_scoped_recovery_action") return null;
const recoveryCause = typeof context.recoveryCause === "string"
? context.recoveryCause
: typeof recovery.cause === "string"
? recovery.cause
: null;
if (
recoveryCause === "successful_run_missing_state" ||
recoveryCause === "successful_run_missing_issue_disposition"
) {
return null;
}
const firstLine = body.split(/\r?\n/, 1)[0]?.trim() || "Recovery update";
const title = firstLine.length > 160 ? `${firstLine.slice(0, 159)}…` : firstLine;
return {
kind: "system_notice",
tone: "info",
title,
detailsDefaultOpen: false,
density: "compact",
};
}
async function assertDeliverableMutationAllowedByRunContext(
req: Request,
res: Response,
issue: { id: string; companyId: string },
) {
const run = await loadActorRunContext(req, issue.companyId);
if (!run) return true;
if (!isStatusOnlyRecoveryContext(run.contextSnapshot)) return true;
res.status(403).json({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/issues.ts:5004 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/db27c1f81e562c68.
Report an issue: GitHub.