Hmbown/CodeWhale · error · anyhow::Error
current Codewhale route {}/{} cannot be carried by DSH: {rea
Error message
current Codewhale route {}/{} cannot be carried by DSH: {reason} What it means
The DSH plan builder refused the active Codewhale route: its adapter mapping returned Unsupported with a reason (e.g. protocol or auth mode DSH cannot carry). The message names the provider id and model so the user knows exactly which route fails.
Source
Thrown at crates/tui/src/integrations/dsh/mod.rs:369
pub(crate) profile: String,
pub(crate) launch_command: String,
pub(crate) env_exports: Vec<(String, String)>,
pub(crate) shadowing_namespaces: Vec<String>,
pub(crate) disclosures: Vec<String>,
}
pub(crate) fn plan(
paths: &DshPaths,
detection: &DshDetection,
identity: &CodewhaleRouteIdentity,
profile: &str,
allow_full_access: bool,
skin: bool,
ocean: bool,
) -> Result<DshPlan> {
let mapped = map_identity(identity, allow_full_access);
let overlay_text = render_overlay(&mapped).ok_or_else(|| match &mapped.adapter {
DshAdapter::Unsupported { reason } => anyhow::anyhow!(
"current Codewhale route {}/{} cannot be carried by DSH: {reason}",
identity.provider_id,
identity.model
),
_ => anyhow::anyhow!("overlay could not be rendered"),
})?;
let overlay_sha256 = sha256_hex(overlay_text.as_bytes());
let mut disclosures = mapped.disclosures.clone();
let shadowing = shadowing_namespaces(detection);
if !shadowing.is_empty() {
disclosures.push(format!(
"$DSH_HOME/settings.yaml has [{}] sections; DSH layers those over the overlay per field, so the saved DSH selection can shadow the pinned identity until you clear it in DSH.",
shadowing.join(", ")
));
}
if !detection.profiles.iter().any(|p| p == profile) {
disclosures.push(format!(
"DSH profile `{profile}` is not initialized yet; dsh will create $DSH_HOME/profiles/{profile} on first launch (its own documented behavior)."View on GitHub (pinned to 0c42157ee5)
Solutions
- Read `reason` for why the adapter is unsupported
- Switch to a supported provider/model route before using DSH
- Check DSH docs for supported route kinds
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/tui/src/integrations/dsh/mod.rs:369 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20).
Data as JSON: /api/errors/669ae20805c63d55.
Report an issue: GitHub.