diff --git a/src/core/tools/multiApplyDiffTool.ts b/src/core/tools/multiApplyDiffTool.ts index dfec5986f4..8057f77949 100644 --- a/src/core/tools/multiApplyDiffTool.ts +++ b/src/core/tools/multiApplyDiffTool.ts @@ -159,7 +159,12 @@ Expected structure: Original error: ${errorMessage}` - throw new Error(detailedError) + cline.consecutiveMistakeCount++ + cline.recordToolError("apply_diff") + TelemetryService.instance.captureDiffApplicationError(cline.taskId, cline.consecutiveMistakeCount) + await cline.say("diff_error", `Failed to parse apply_diff XML: ${errorMessage}`) + pushToolResult(detailedError) + return } } else if (legacyPath && typeof legacyDiffContent === "string") { // Handle legacy parameters (old way)