+ {/* Official — no config needed */}
+ {isOfficial && mode === 'create' ? (
+
+ Official provider uses Anthropic native login — no API key or configuration needed.
setApiKey(e.target.value)}
- placeholder={mode === 'edit' ? '****' : 'sk-...'}
- />
+ {/* Base URL */}
+ {isCustom || mode === 'edit' ? (
+
setBaseUrl(e.target.value)} placeholder="https://api.example.com/anthropic" />
+ ) : (
+
setApiKey(e.target.value)}
+ placeholder={mode === 'edit' ? '****' : 'sk-...'}
+ />
- {/* Advanced: Model Mapping */}
-
-
- {showAdvanced && (
-
- {/* Test connection */}
-
-
- {testResult && (
-
- {testResult.success ? `Connected (${testResult.latencyMs}ms)` : `Failed: ${testResult.error}`}
-
- )}
-
+ {/* Test connection */}
+
+
+ {testResult && (
+
+ {testResult.success ? `Connected (${testResult.latencyMs}ms)` : `Failed: ${testResult.error}`}
+
+ )}
+
+
+ {/* Settings JSON Preview */}
+
+
+
+{JSON.stringify({
+ env: {
+ ANTHROPIC_BASE_URL: baseUrl || '...',
+ ANTHROPIC_AUTH_TOKEN: apiKey ? '***' : '(your API key)',
+ ANTHROPIC_MODEL: models.main || '...',
+ ANTHROPIC_DEFAULT_HAIKU_MODEL: models.haiku || '...',
+ ANTHROPIC_DEFAULT_SONNET_MODEL: models.sonnet || '...',
+ ANTHROPIC_DEFAULT_OPUS_MODEL: models.opus || '...',
+ },
+}, null, 2)}
+
+
Will be written to ~/.claude/settings.json on activation.
+
+ >
+ )}