Hmbown/CodeWhale · error
external credential owner does not match provider {}
Error message
external credential owner does not match provider {} What it means
Error "external credential owner does not match provider {}" thrown in Hmbown/CodeWhale.
Source
Thrown at crates/tui/src/config.rs:11302
consent_provider: codewhale_config::ProviderKind,
source: codewhale_config::ExternalCredentialSource,
path: &Path,
) -> Result<PathBuf> {
let expected = match provider {
ApiProvider::OpenaiCodex => (
codewhale_config::ProviderKind::OpenaiCodex,
codewhale_config::ExternalCredentialSource::CodexCli,
),
ApiProvider::Xai => (
codewhale_config::ProviderKind::Xai,
codewhale_config::ExternalCredentialSource::GrokCli,
),
_ => anyhow::bail!(
"{} has no supported external credential owner",
provider.as_str()
),
};
anyhow::ensure!(
(consent_provider, source) == expected,
"external credential owner does not match provider {}",
provider.as_str()
);
let path = codewhale_config::resolve_external_credential_path(path)?;
let path_value = path.to_str().context(
"external credential path cannot be persisted losslessly because it is not valid UTF-8",
)?;
let config_path = match config_path {
Some(path) => path.to_path_buf(),
None => credential_config_path()
.context("Failed to resolve config path for external credential consent.")?,
};
ensure_parent_dir(&config_path)?;
let key_inside = provider_config_key(provider).context("external credential provider key")?;
crate::config_persistence::mutate_config_document(&config_path, |doc| {
crate::config_persistence::set_document_value(
doc,View on GitHub (pinned to 8880682c63)
When it happens
Trigger: Thrown at crates/tui/src/config.rs:11302 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Hmbown/CodeWhale@8880682c63 (2026-08-16).
Data as JSON: /api/errors/9a5e329a43bb3b39.
Report an issue: GitHub.