From 3ea46099d0ce2a2a1f9d36f6d56e18bd943d145b Mon Sep 17 00:00:00 2001 From: Jeremy Date: Wed, 8 Apr 2026 07:31:32 -0500 Subject: [PATCH] fix(retry): guard claude-code fallback to anthropic provider only Prevent _tryClaudeCodeFallback from firing for non-Anthropic providers that may produce similar error text, avoiding unintended provider drift. Co-Authored-By: Claude Opus 4.6 (1M context) --- packages/pi-coding-agent/src/core/retry-handler.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/pi-coding-agent/src/core/retry-handler.ts b/packages/pi-coding-agent/src/core/retry-handler.ts index 694f50295..c65bd9390 100644 --- a/packages/pi-coding-agent/src/core/retry-handler.ts +++ b/packages/pi-coding-agent/src/core/retry-handler.ts @@ -477,6 +477,10 @@ export class RetryHandler { const currentModel = this._deps.getModel(); if (!currentModel) return false; + // Only attempt claude-code fallback when the current provider is anthropic. + // Other providers may produce similar error text but should not be rerouted. + if (currentModel.provider !== "anthropic") return false; + // Find the same model ID under the claude-code provider const ccModel = this._deps.modelRegistry.find("claude-code", currentModel.id); if (!ccModel) return false;