Hmbown/CodeWhale · error
{LEGACY_ANTIGRAVITY_TOMBSTONE_MESSAGE}
Error message
{LEGACY_ANTIGRAVITY_TOMBSTONE_MESSAGE} What it means
`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.
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.
Example fix
// before codewhale --provider antigravity "fix the bug" // after (use the current provider name) codewhale --provider <new-provider-name> "fix the bug"
Defensive patterns
Strategy: validation
Validate before calling
const LEGACY = ['antigravity'];
if (LEGACY.includes(process.env.CW_PROVIDER)) throw new Error(`provider '${process.env.CW_PROVIDER}' is removed; see tombstone message`); Prevention
- Grep scripts/config for removed provider names after each upgrade.
- Read release notes for provider renames; keep provider names in one config place.
When it happens
Trigger: 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.
Common situations: 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.
Understand the failure class
Background: "is deprecated and will be removed" — deprecation warnings for old API names, keywords, and options, and how to migrate before the removal release — this error's family across 29 libraries.
Related errors
- Antigravity is a retired, non-runnable legacy provider…
- Antigravity is a retired, non-runnable legacy provider…
- Antigravity is a retired, non-runnable legacy provider…
- Choose a model for the destination provider before…
- `codewhale login` now signs in to your Codewhale account…
AI-assisted analysis of Hmbown/CodeWhale@73e0f67d83 (2026-09-22).
Data as JSON: /api/errors/6e0012f2648981cf.
Report an issue: GitHub.
Appendix: source
Thrown at crates/cli/src/lib.rs:527
set edit:completion:arg-completer[{alias}] = $edit:completion:arg-completer[{bin}]\n"
),
_ => script,
}
}
fn command_accepts_raw_provider(command: Option<&Commands>) -> bool {
matches!(command, Some(Commands::Exec(_) | Commands::Fleet(_)))
}
fn top_level_provider_override(
provider: Option<&str>,
command: Option<&Commands>,
) -> Result<Option<ProviderKind>> {
let Some(provider) = provider else {
return Ok(None);
};
if is_antigravity_legacy_selector(provider) {
bail!(codewhale_config::LEGACY_ANTIGRAVITY_TOMBSTONE_MESSAGE);
}
if let Some(provider) = builtin_provider_arg(provider) {
return Ok(Some(provider));
}
if command_accepts_raw_provider(command) {
return Ok(None);
}
let expected = ProviderKind::names_hint();
bail!(
"invalid value '{provider}' for '--provider <PROVIDER>': expected one of {expected}; configured custom providers are accepted only by exec and fleet"
)
}
fn prepare_raw_provider_tui_dispatch(
cli: &Cli,
command: Option<&Commands>,
runtime_overrides: &CliRuntimeOverrides,View on GitHub (pinned to 73e0f67d83)