diff --git a/crates/tui/src/config.rs b/crates/tui/src/config.rs index 55c04f20..7bde359b 100644 --- a/crates/tui/src/config.rs +++ b/crates/tui/src/config.rs @@ -2528,7 +2528,11 @@ pub fn save_api_key_for(provider: ApiProvider, api_key: &str) -> Result ensure_parent_dir(&config_path)?; let table_name = match provider { - ApiProvider::Deepseek | ApiProvider::DeepseekCN => unreachable!(), + ApiProvider::Deepseek | ApiProvider::DeepseekCN => { + return Err(anyhow::anyhow!( + "save_api_key_for: DeepSeek variants must use the root api_key field, not provider-specific storage" + )); + } ApiProvider::NvidiaNim => "providers.nvidia_nim", ApiProvider::Openrouter => "providers.openrouter", ApiProvider::Novita => "providers.novita", @@ -2556,7 +2560,11 @@ pub fn save_api_key_for(provider: ApiProvider, api_key: &str) -> Result .as_table_mut() .context("`providers` must be a table.")?; let key_inside = match provider { - ApiProvider::Deepseek | ApiProvider::DeepseekCN => unreachable!(), + ApiProvider::Deepseek | ApiProvider::DeepseekCN => { + return Err(anyhow::anyhow!( + "save_api_key_for: DeepSeek variants must use the root api_key field, not provider-specific storage" + )); + } ApiProvider::NvidiaNim => "nvidia_nim", ApiProvider::Openrouter => "openrouter", ApiProvider::Novita => "novita", diff --git a/crates/tui/src/tui/ui.rs b/crates/tui/src/tui/ui.rs index 3b1b5afd..4713d39b 100644 --- a/crates/tui/src/tui/ui.rs +++ b/crates/tui/src/tui/ui.rs @@ -5520,7 +5520,10 @@ async fn apply_provider_picker_api_key( .providers .get_or_insert_with(ProvidersConfig::default); let entry: &mut ProviderConfig = match provider { - ApiProvider::Deepseek | ApiProvider::DeepseekCN => unreachable!(), + ApiProvider::Deepseek | ApiProvider::DeepseekCN => { + // Guarded by the outer `if` above; safety net against refactors. + return; + } ApiProvider::NvidiaNim => &mut providers.nvidia_nim, ApiProvider::Openrouter => &mut providers.openrouter, ApiProvider::Novita => &mut providers.novita,