diff --git a/src/agents/session-transcript-repair.ts b/src/agents/session-transcript-repair.ts index d680beb4d..408857ebb 100644 --- a/src/agents/session-transcript-repair.ts +++ b/src/agents/session-transcript-repair.ts @@ -116,6 +116,15 @@ export function repairToolUseResultPairing(messages: AgentMessage[]): ToolUseRep } const assistant = msg as Extract; + + // If the assistant message has an error stop reason, it might be filtered out + // by the provider on subsequent requests (e.g. Anthropic content filtering). + // We drop it to avoid orphaning any tool results that would be added below. + if ((assistant as any).stopReason === "error") { + changed = true; + continue; + } + const toolCalls = extractToolCallsFromAssistant(assistant); if (toolCalls.length === 0) { out.push(msg);