diff --git a/src/hooks/session-recovery/detect-error-type.ts b/src/hooks/session-recovery/detect-error-type.ts index ea9af562..b5783dae 100644 --- a/src/hooks/session-recovery/detect-error-type.ts +++ b/src/hooks/session-recovery/detect-error-type.ts @@ -89,7 +89,6 @@ export function detectErrorType(error: unknown): RecoveryErrorType { message.includes("dummy_tool") || message.includes("unavailable tool") || message.includes("model tried to call unavailable") || - message.includes("nosuchtoolarror") || message.includes("nosuchtoolerror") || message.includes("no such tool") ) { diff --git a/src/hooks/session-recovery/recover-unavailable-tool.ts b/src/hooks/session-recovery/recover-unavailable-tool.ts index 193f61e6..3aa937e7 100644 --- a/src/hooks/session-recovery/recover-unavailable-tool.ts +++ b/src/hooks/session-recovery/recover-unavailable-tool.ts @@ -51,7 +51,7 @@ async function readPartsFromSDKFallback( return target.parts.map((part) => ({ type: part.type === "tool" ? "tool_use" : part.type, id: "callID" in part ? (part as { callID?: string }).callID : part.id, - name: "name" in part && typeof part.name === "string" ? part.name : undefined, + name: "name" in part && typeof part.name === "string" ? part.name : ("tool" in part && typeof (part as { tool?: unknown }).tool === "string" ? (part as { tool: string }).tool : undefined), })) } catch { return []