paperclipai/paperclip · error · Error
Upload did not return a file URL
Error message
Upload did not return a file URL
What it means
The chat composer's image upload flow completed but the response contained no file URL. The upload API returned an unexpected/empty payload, so the attachment cannot be referenced in the message.
Source
Thrown at ui/src/components/task-chat/TaskChatComposer.tsx:282
placement === "option" ? assigneeValue : undefined
}
>
{profile?.image ? <AvatarImage src={profile.image} alt="" /> : null}
<AvatarFallback>{identityInitials(resolvedLabel)}</AvatarFallback>
</Avatar>
);
}
return null;
}
const MODE_DESCRIPTION: Partial<Record<IssueWorkMode, string>> = {
standard: "Make changes and run work",
planning: "Draft a plan before acting",
ask: "Answer questions only, no changes",
};
/** v7 per-mode placeholder copy; `{agent}` is the pending assignee's name. */
function modePlaceholder(mode: IssueWorkMode, agentName: string): string {
switch (mode) {
case "planning":
return `Plan with ${agentName} — shapes the plan doc, no code changes…`;
case "ask":
return `Ask ${agentName} a question — read-only, nothing runs…`;
default:
return `Message ${agentName} — describe what you want done…`;
}
}
type ComposerAttachment = {
id: string;
name: string;
size?: number;
status: "uploading" | "attached" | "error";
error?: string;
/** Set once uploaded; the submit path appends `[name](contentPath)` lines. */View on GitHub (pinned to 01ad858492)
Solutions
- Retry the upload; if it persists, check the asset upload endpoint response for why no file URL was returned.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at ui/src/components/task-chat/TaskChatComposer.tsx:211 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/882336a8be0d4958.
Report an issue: GitHub.