Hmbown/CodeWhale · error · anyhow::Error
DSH is not connected; run `{CLI_COMMAND} connect`
Error message
DSH is not connected; run `{CLI_COMMAND} connect` What it means
Raised in run_dsh's connect-status flow: the DSH integration status report contains no connection record, meaning DSH was never connected for this workspace. Operations that require an existing connection refuse to proceed and direct the user to run the CLI connect command first.
Source
Thrown at crates/tui/src/integrations/cli.rs:339
println!(
"connected: {} (sha256 {})",
record.overlay_path.display(),
record.overlay_sha256
);
println!("receipt: {}", paths.receipt.display());
Ok(())
}
DshIntegrationCommand::Update {
profile,
allow_full_access,
skin,
ocean,
yes,
} => {
let (paths, report) = status_report(config, workspace, allow_full_access)?;
ensure_launchable_dsh(&report)?;
let record = report.record.as_ref().ok_or_else(|| {
anyhow::anyhow!("DSH is not connected; run `{CLI_COMMAND} connect`")
})?;
let profile = profile.unwrap_or_else(|| record.profile.clone());
let skin = skin.unwrap_or(record.skin_enabled);
let ocean = ocean.unwrap_or(record.ocean_enabled);
let identity = dsh::codewhale_route_identity(config, workspace)
.map_err(|e| anyhow::anyhow!("cannot resolve the current Codewhale route: {e}"))?;
let plan = dsh::plan(
&paths,
&report.detection,
&identity,
&profile,
allow_full_access,
skin,
ocean,
)?;
print_plan(&plan, "update");
confirm(yes, "Rewrite the Codewhale overlay for DSH?")?;
let record =View on GitHub (pinned to 0c42157ee5)
Solutions
- Run `codewhale connect` first to establish the DSH integration
- Then retry the update command
- Verify the receipt file was not deleted
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/tui/src/integrations/cli.rs:339 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/3d60c7154e9297cf.
Report an issue: GitHub.