diff --git a/src-tauri/src/proxy/providers/claude.rs b/src-tauri/src/proxy/providers/claude.rs index 87a0d85c9..04d4ec6ff 100644 --- a/src-tauri/src/proxy/providers/claude.rs +++ b/src-tauri/src/proxy/providers/claude.rs @@ -62,7 +62,8 @@ impl ClaudeAdapter { let normalized = value.trim().to_lowercase(); normalized == "true" || normalized == "1" } - _ => true, + // OpenRouter now supports Claude Code compatible API, default to passthrough + _ => false, } } @@ -465,12 +466,22 @@ mod tests { })); assert!(!adapter.needs_transform(&anthropic_provider)); + // OpenRouter provider without explicit setting now defaults to passthrough (no transform) let openrouter_provider = create_provider(json!({ "env": { "ANTHROPIC_BASE_URL": "https://openrouter.ai/api" } })); - assert!(adapter.needs_transform(&openrouter_provider)); + assert!(!adapter.needs_transform(&openrouter_provider)); + + // OpenRouter provider with explicit compat mode enabled should transform + let openrouter_enabled = create_provider(json!({ + "env": { + "ANTHROPIC_BASE_URL": "https://openrouter.ai/api" + }, + "openrouter_compat_mode": true + })); + assert!(adapter.needs_transform(&openrouter_enabled)); let openrouter_disabled = create_provider(json!({ "env": { diff --git a/src/components/providers/forms/ProviderForm.tsx b/src/components/providers/forms/ProviderForm.tsx index 514367740..cb97473d5 100644 --- a/src/components/providers/forms/ProviderForm.tsx +++ b/src/components/providers/forms/ProviderForm.tsx @@ -236,7 +236,7 @@ export function ProviderForm({ } catch { // ignore } - return true; + return false; // OpenRouter now supports Claude Code compatible API, no need for transform }, [isOpenRouterProvider, settingsConfigValue]); const handleOpenRouterCompatChange = useCallback( @@ -864,7 +864,7 @@ export function ProviderForm({ defaultOpusModel={defaultOpusModel} onModelChange={handleModelChange} speedTestEndpoints={speedTestEndpoints} - showOpenRouterCompatToggle={isOpenRouterProvider} + showOpenRouterCompatToggle={false} openRouterCompatEnabled={openRouterCompatEnabled} onOpenRouterCompatChange={handleOpenRouterCompatChange} />