paperclipai/paperclip · error
Interaction "${params.interactionId}" not found for this iss
Error message
Interaction "${params.interactionId}" not found for this issue What it means
respondInteraction could not find the referenced interaction on the specified issue (wrong id, already resolved and removed, or belonging to a different issue). The lookup guard runs after the issue's company boundary check.
Source
Thrown at server/src/services/plugin-host-services.ts:2511
if (!inCompany(await issues.getById(params.issueId), companyId)) return [];
return (await interactions.listForIssue(params.issueId)) as any;
},
async respondInteraction(params) {
const companyId = ensureCompanyId(params.companyId);
await ensurePluginAvailableForCompany(companyId);
const issue = requireInCompany("Issue", await issues.getById(params.issueId), companyId);
// Resolving an interaction is a board-user action (the web app's
// interaction-resolve routes are board-only). The host re-verifies the
// paired user is an active human member at apply time and never trusts
// the plugin-supplied identity — matching the createComment bar.
if (!params.actorUserId) {
throw new Error("actorUserId is required to respond to an interaction on behalf of a board user");
}
await requireActiveHumanMember(companyId, params.actorUserId);
const current = await interactions.getById(params.interactionId);
if (!current || current.issueId !== issue.id || current.companyId !== companyId) {
throw new Error(`Interaction "${params.interactionId}" not found for this issue`);
}
// Idempotent replay: an already-resolved interaction converges without
// re-applying, so a duplicate button tap from chat is a safe no-op.
if (current.status !== "pending") {
return { interaction: current as any, applied: false };
}
const actor = { userId: params.actorUserId };
let resolved: typeof current;
let continuationTarget = {
id: issue.id,
assigneeAgentId: issue.assigneeAgentId,
status: issue.status,
};
if (params.action === "accept") {
const result = await interactions.acceptInteraction(
{
id: issue.id,View on GitHub (pinned to a7e689b3c3)
Solutions
- Verify the interactionId belongs to the issue being acted on; list the issue's interactions first and use an ID from that list.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/services/plugin-host-services.ts:2502 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@a7e689b3c3 (2026-08-18).
Data as JSON: /api/errors/5b593407d9815c60.
Report an issue: GitHub.