{"record":{"id":"d9a67f7a386feb9a","repo":"Hmbown/CodeWhale","slug":"unknown-cloud-slug","errorCode":null,"errorMessage":"unknown cloud '{slug}'. {}","messagePattern":"unknown cloud '(.+?)'\\. (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/tui/src/remote_setup/mod.rs","lineNumber":146,"sourceCode":"}\n\nfn print_header() {\n    use crate::palette;\n    use colored::Colorize;\n    let (r, g, b) = palette::WHALE_INFO_RGB;\n    println!(\"{}\", \"Codewhale Remote Setup\".truecolor(r, g, b).bold());\n    println!(\"{}\", \"======================\".truecolor(r, g, b));\n    println!(\"Generate a deploy bundle for a remote Codewhale agent (cloud + chat bridge).\");\n}\n\n// ---------------------------------------------------------------------------\n// Resolution: flag -> prompt (unless --non-interactive) -> validated value\n// ---------------------------------------------------------------------------\n\nfn resolve_cloud(args: &RemoteSetupArgs) -> Result<&'static CloudTarget> {\n    if let Some(slug) = &args.cloud {\n        return registry::cloud_by_slug(slug)\n            .ok_or_else(|| anyhow::anyhow!(\"unknown cloud '{slug}'. {}\", cloud_choices()));\n    }\n    if args.non_interactive {\n        bail!(\n            \"--cloud is required in --non-interactive mode. {}\",\n            cloud_choices()\n        );\n    }\n    let idx = prompt_choice(\n        \"Cloud target\",\n        &CLOUD_TARGETS\n            .iter()\n            .map(|c| format!(\"{} ({})\", c.display, c.slug))\n            .collect::<Vec<_>>(),\n    )?;\n    Ok(&CLOUD_TARGETS[idx])\n}\n\nfn resolve_bridge(args: &RemoteSetupArgs) -> Result<&'static BridgeSpec> {","sourceCodeStart":128,"sourceCodeEnd":164,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/remote_setup/mod.rs#L128-L164","documentation":"resolve_cloud received a --cloud slug that matches no entry in the CLOUD_TARGETS registry (the message appends the valid choices); a user-supplied flag typo or an outdated slug.","triggerScenarios":"Thrown at crates/tui/src/remote_setup/mod.rs:146 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-run with one of the listed cloud slugs","Drop --cloud to get the interactive cloud picker"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0c42157ee52f9d55af2b506d71b46249910f77d3","analyzedAt":"2026-08-20T21:50:45.477Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}