param([string]$ApiKey, [switch]$Reset) $ErrorActionPreference = 'Stop' $settingsPath = Join-Path $HOME '.claude/settings.json' $keys = @('ANTHROPIC_BASE_URL','ANTHROPIC_AUTH_TOKEN','ANTHROPIC_MODEL','ANTHROPIC_DEFAULT_OPUS_MODEL','ANTHROPIC_DEFAULT_SONNET_MODEL','ANTHROPIC_SMALL_FAST_MODEL','ANTHROPIC_DEFAULT_HAIKU_MODEL','CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY','CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK','API_TIMEOUT_MS') if (-not (Test-Path (Split-Path $settingsPath))) { New-Item -ItemType Directory -Force (Split-Path $settingsPath) | Out-Null } $config = if (Test-Path $settingsPath) { Get-Content $settingsPath -Raw | ConvertFrom-Json } else { [pscustomobject]@{} } if (-not $config.env) { $config | Add-Member -NotePropertyName env -NotePropertyValue ([pscustomobject]@{}) } if ($Reset) { foreach ($key in $keys) { $config.env.PSObject.Properties.Remove($key) } } else { if (-not $ApiKey) { $ApiKey = Read-Host 'Aurix API key' } if ($ApiKey.Length -lt 8) { throw 'API key is too short' } $config.env.ANTHROPIC_BASE_URL = 'https://api.aurix-mart.online' $config.env.ANTHROPIC_AUTH_TOKEN = $ApiKey $config.env.ANTHROPIC_MODEL = 'nghi/claude-sonnet-5[1m]' $config.env.ANTHROPIC_DEFAULT_OPUS_MODEL = 'nghi/claude-opus-5[1m]' $config.env.ANTHROPIC_DEFAULT_SONNET_MODEL = 'nghi/claude-sonnet-5[1m]' $config.env.ANTHROPIC_SMALL_FAST_MODEL = 'nghi/claude-haiku-4.5[1m]' $config.env.ANTHROPIC_DEFAULT_HAIKU_MODEL = 'nghi/claude-haiku-4.5[1m]' $config.env.CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY = '1' $config.env.CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK = '1' $config.env.API_TIMEOUT_MS = '600000' } $config | ConvertTo-Json -Depth 8 | Set-Content $settingsPath Write-Host $(if ($Reset) { 'Aurix Claude settings reset.' } else { "Aurix Claude settings written to $settingsPath." })