{"record":{"id":"6e0012f2648981cf","repo":"Hmbown/CodeWhale","slug":"legacy-antigravity-tombstone-message","errorCode":null,"errorMessage":"{LEGACY_ANTIGRAVITY_TOMBSTONE_MESSAGE}","messagePattern":"\\{LEGACY_ANTIGRAVITY_TOMBSTONE_MESSAGE\\}","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/cli/src/lib.rs","lineNumber":527,"sourceCode":"             set edit:completion:arg-completer[{alias}] = $edit:completion:arg-completer[{bin}]\\n\"\n        ),\n        _ => script,\n    }\n}\n\nfn command_accepts_raw_provider(command: Option<&Commands>) -> bool {\n    matches!(command, Some(Commands::Exec(_) | Commands::Fleet(_)))\n}\n\nfn top_level_provider_override(\n    provider: Option<&str>,\n    command: Option<&Commands>,\n) -> Result<Option<ProviderKind>> {\n    let Some(provider) = provider else {\n        return Ok(None);\n    };\n    if is_antigravity_legacy_selector(provider) {\n        bail!(codewhale_config::LEGACY_ANTIGRAVITY_TOMBSTONE_MESSAGE);\n    }\n    if let Some(provider) = builtin_provider_arg(provider) {\n        return Ok(Some(provider));\n    }\n    if command_accepts_raw_provider(command) {\n        return Ok(None);\n    }\n\n    let expected = ProviderKind::names_hint();\n    bail!(\n        \"invalid value '{provider}' for '--provider <PROVIDER>': expected one of {expected}; configured custom providers are accepted only by exec and fleet\"\n    )\n}\n\nfn prepare_raw_provider_tui_dispatch(\n    cli: &Cli,\n    command: Option<&Commands>,\n    runtime_overrides: &CliRuntimeOverrides,","sourceCodeStart":509,"sourceCodeEnd":545,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/73e0f67d83c59909b571efdfc88c4bc28c309cb1/crates/cli/src/lib.rs#L509-L545","documentation":"`top_level_provider_override` in crates/cli/src/lib.rs rejects the legacy `antigravity` provider selector with a tombstone message from codewhale-config (`LEGACY_ANTIGRAVITY_TOMBSTONE_MESSAGE`). The provider was removed/renamed, and this bail turns any use of the old name into an explicit, permanent failure rather than a silent alias or a confusing 'invalid value' error.","triggerScenarios":"Passing `--provider antigravity` (or any value for which `is_antigravity_legacy_selector` returns true) at the top level of any command, or via the alias-clearing test path; also any config/script still specifying the old provider name.","commonSituations":"Users upgrading from an older codewhale version where `antigravity` was a valid provider; docs, shell aliases, or CI configs that still contain the old name; following an outdated tutorial.","solutions":["Read the tombstone message printed with the error and switch to the replacement provider name it names.","Update any scripts, aliases, or config files that still say `antigravity`.","Run `codewhale --help` (or list providers) to see the currently valid `--provider` values."],"exampleFix":"// before\ncodewhale --provider antigravity \"fix the bug\"\n// after (use the current provider name)\ncodewhale --provider <new-provider-name> \"fix the bug\"","handlingStrategy":"validation","validationCode":"const LEGACY = ['antigravity'];\nif (LEGACY.includes(process.env.CW_PROVIDER)) throw new Error(`provider '${process.env.CW_PROVIDER}' is removed; see tombstone message`);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Grep scripts/config for removed provider names after each upgrade.","Read release notes for provider renames; keep provider names in one config place."],"tags":["cli","provider","deprecated","migration"],"backgroundTag":"deprecated-api-usage","analyzedSha":"73e0f67d83c59909b571efdfc88c4bc28c309cb1","analyzedAt":"2026-09-22T01:30:00.501Z","contentChangedAt":"2026-09-22T01:30:00.501Z","schemaVersion":2},"datasetVersion":"2026-09-22T11:17:16.035Z"}