Hmbown/CodeWhale · error

Failed to parse config from {}; file contents were omitted

Error message

Failed to parse config from {}; file contents were omitted

What it means

Error "Failed to parse config from {}; file contents were omitted" thrown in Hmbown/CodeWhale.

Source

Thrown at crates/tui/src/config.rs:11778

        return codewhale_config::with_xai_oauth_revocation_transaction(|| {
            clear_active_provider_api_key_unlocked(provider)
        });
    }
    clear_active_provider_api_key_unlocked(provider)
}

fn clear_active_provider_api_key_unlocked(provider: &str) -> Result<()> {
    let config_path = credential_config_path()
        .context("Failed to resolve config path while clearing API keys.")?;

    if config_path.exists() {
        // `custom` is both the legacy root-shaped route id and a valid exact
        // `[providers.custom]` table key. Inspect the persisted shape before the
        // mutation so logout clears exactly one credential scope.
        let persisted = fs::read_to_string(&config_path)
            .with_context(|| format!("Failed to read config from {}", config_path.display()))?;
        let persisted_config: Config = toml::from_str(&persisted).map_err(|_| {
            anyhow::anyhow!(
                "Failed to parse config from {}; file contents were omitted",
                codewhale_config::quote_os_path(&config_path)
            )
        })?;
        let exact_literal_custom_table = provider == ApiProvider::Custom.as_str()
            && persisted_config
                .providers
                .as_ref()
                .and_then(|providers| providers.custom_provider_config(provider))
                .is_some();

        crate::config_persistence::mutate_config_document(&config_path, |doc| {
            // The root-level api_key is shared by the legacy DeepSeek and released
            // literal-custom config shapes. Exact named custom ids remain scoped
            // to their own table.
            if matches!(
                provider,
                value if value == ApiProvider::Deepseek.as_str()

View on GitHub (pinned to 8880682c63)

When it happens

Trigger: Thrown at crates/tui/src/config.rs:11778 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of Hmbown/CodeWhale@8880682c63 (2026-08-16). Data as JSON: /api/errors/94944e5ca2ca044f. Report an issue: GitHub.