Hmbown/CodeWhale · error
Antigravity is a retired, non-runnable legacy provider…
Error message
Antigravity is a retired, non-runnable legacy provider. Clear Codewhale-owned legacy state with `codewhale auth clear --provider antigravity`; this does not alter Google or Antigravity sessions. For Gemini use provider `google` with `GEMINI_API_KEY`.
What it means
Antigravity is a retired legacy provider that cannot be selected at runtime. Selecting it as a top-level --provider override is refused with the tombstone message, which also points users at `codewhale auth clear --provider antigravity` for removing Codewhale-owned legacy state and at `google` + GEMINI_API_KEY for Gemini usage.
Solutions
- Use `codewhale auth clear --provider antigravity` if you need to remove legacy Antigravity state (clear-only is allowed).
- For Gemini, use `--provider google` with GEMINI_API_KEY configured.
- Remove `--provider antigravity` from scripts/CI and update to the supported provider set.
- Check `codewhale --help` / provider list for current provider names.
Example fix
// before codewhale run --provider antigravity "fix the lint" // after codewhale auth clear --provider antigravity # one-time legacy cleanup codewhale run --provider google "fix the lint" # with GEMINI_API_KEY set
Defensive patterns
Strategy: validation
Validate before calling
fn is_retired_provider(name: &str) -> bool {
matches!(name.to_ascii_lowercase().as_str(), "antigravity")
}
if is_retired_provider(args.provider) { eprintln!("use --provider google with GEMINI_API_KEY, or auth clear for legacy state"); } Try / catch
match result {
Err(e) if e.to_string().contains("retired, non-runnable legacy provider") => {
eprintln!("migrate: --provider google + GEMINI_API_KEY (or run auth clear --provider antigravity)");
}
Err(e) => eprintln!("failed: {e:#}"),
Ok(_) => {}
} Prevention
- Remove `--provider antigravity` from scripts, CI, and docs.
- Use `--provider google` with GEMINI_API_KEY for Gemini workloads.
- Run `codewhale auth clear --provider antigravity` once to purge legacy state.
When it happens
Trigger: Passing `--provider antigravity` (or a legacy alias recognized by is_antigravity_legacy_selector) on the top-level CLI invocation, so top_level_provider_override matches the legacy selector and bails.
Common situations: Old scripts or docs referencing the removed Antigravity provider; leftover muscle memory from pre-retirement setups; wanting Gemini and guessing the old provider name still works.
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
- {LEGACY_ANTIGRAVITY_TOMBSTONE_MESSAGE}
- 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@433685b202 (2026-09-15).
Data as JSON: /api/errors/b35bd6942c4bc415.
Report an issue: GitHub.
Appendix: source
Thrown at crates/cli/src/lib.rs:519
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 433685b202)