paperclipai/paperclip · error · HttpError
responsible_user_unresolved
responsible_user_unresolved
Error message
Unable to resolve responsible user for heartbeat run dispatch
What it means
resolveResponsibleUserIdForRun could not determine which user is responsible for a heartbeat run dispatch from the company, run context snapshot, issue context, or routine env. This is an internal dispatch guard: the run cannot proceed without a responsible principal.
Source
Thrown at server/src/services/heartbeat.ts:7504
"id" | "companyId" | "agentId" | "status" | "contextSnapshot"
>,
update: RuntimeStatusUpdate,
issueId: string | null,
) {
if (!isHeartbeatRunRuntimeStatusActive(run.status)) return null;
const status = setHeartbeatRunRuntimeStatus({
companyId: run.companyId,
issueId,
agentId: run.agentId,
runId: run.id,
phase: update.phase as HeartbeatRunStatusPhase,
message: update.message,
currentToolName: readNonEmptyString(update.currentToolName) ?? null,
lastAssistantSnippet:
readNonEmptyString(update.lastAssistantSnippet) ?? null,
lastEventAt: update.lastEventAt ? new Date(update.lastEventAt) : new Date(),
});
if (!status) return null;
publishHeartbeatRunRuntimeProgress(status);
return status;
}
function sanitizeLiveRunProgressText(
value: string,
maxChars: number,
): string | null {
const normalized = value.replace(/\s+/g, " ").trim();
if (!normalized) return null;
const redacted = redactSensitiveText(normalized);
if (redacted.length <= maxChars) return redacted;
return `${redacted.slice(0, maxChars - 3)}...`;
}
function readLiveRunProgressString(
value: unknown,View on GitHub (pinned to 01ad858492)
Solutions
- Assign a responsible user for the company before dispatching heartbeat runs.
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at server/src/services/heartbeat.ts:7419 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/7183449954e1247f.
Report an issue: GitHub.