warpdotdev/warp · error
invalid value 'integration'
Error message
invalid value 'integration'
What it means
Thrown by the agent SDK CLI dispatcher (app/src/ai/agent_sdk/mod.rs:174) after clap has already parsed the `integration` subcommand. The non-wasm match arm checks FeatureFlag::IntegrationCommand and, when the flag is off, returns an anyhow error worded exactly like clap's 'invalid value' parse failure, so a disabled subcommand looks nonexistent to scripts. Flags resolve override -> user preference -> launch-environment/server state and default to false; this flag is not in the always-on DOGFOOD/PREVIEW/RELEASE lists, so most release-channel builds hit this.
Source
Thrown at app/src/ai/agent_sdk/mod.rs:174
CliCommand::Run(task_cmd) => run_task(ctx, global_options, task_cmd),
CliCommand::Model(model_cmd) => model::run(ctx, global_options, model_cmd),
CliCommand::MemoryStore(memory_store_cmd) => {
memory_store::run(ctx, global_options, memory_store_cmd)
}
CliCommand::Memory(memory_cmd) => memory_store::run_memory(ctx, global_options, memory_cmd),
CliCommand::Login => admin::login(ctx),
CliCommand::Logout => admin::logout(ctx),
CliCommand::Whoami => admin::whoami(ctx, global_options.output_format),
CliCommand::Provider(provider_cmd) => {
if !FeatureFlag::ProviderCommand.is_enabled() {
return Err(anyhow::anyhow!("invalid value 'provider'"));
}
provider::run(ctx, global_options, provider_cmd)
}
#[cfg(not(target_family = "wasm"))]
CliCommand::Integration(integration_cmd) => {
if !FeatureFlag::IntegrationCommand.is_enabled() {
return Err(anyhow::anyhow!("invalid value 'integration'"));
}
integration::run(ctx, global_options, integration_cmd)
}
#[cfg(target_family = "wasm")]
CliCommand::Integration(_) => {
return Err(anyhow::anyhow!("invalid value 'integration'"));
}
CliCommand::Schedule(schedule_cmd) => {
if !FeatureFlag::ScheduledAmbientAgents.is_enabled() {
return Err(anyhow::anyhow!("invalid value 'schedule'"));
}
schedule::run(ctx, global_options, schedule_cmd)
}
CliCommand::Secret(secret_cmd) => {
if !FeatureFlag::WarpManagedSecrets.is_enabled() {
return Err(anyhow::anyhow!("invalid value 'secret'"));
}
secret::run(ctx, global_options, secret_cmd)View on GitHub (pinned to e72fd7aacb)
Solutions
- Run the command from a build/channel where the integration feature is enabled (dogfood/preview build, or an account enrolled server-side)
- Update Warp/the CLI to a version where the gate has been promoted to your channel
- If you are a Warp developer, set a feature-flag override (or set_user_preference) or add FeatureFlag::IntegrationCommand to DOGFOOD_FLAGS and rebuild
- If integrations are not needed, drop the `integration` subcommand from the invocation/script
Example fix
# before
$ oz integration list
Error: invalid value 'integration'
# after (developer override before dispatch)
if !FeatureFlag::IntegrationCommand.is_enabled() {
eprintln!("integration is not available in this build");
return Ok(());
} Defensive patterns
Strategy: validation
Validate before calling
// In Rust, before dispatching CLI commands:
if matches!(cmd, CliCommand::Integration(_))
&& !FeatureFlag::IntegrationCommand.is_enabled()
{
eprintln!("integration is unavailable in this build");
return Ok(());
} Type guard
pub fn integration_cmd_available() -> bool {
cfg!(not(target_family = "wasm"))
&& FeatureFlag::IntegrationCommand.is_enabled()
} Try / catch
// Treat clap-shaped 'invalid value' as "command unavailable", not a crash:
match agent_sdk::run(ctx, opts, cmd) {
Err(e) if e.to_string() == "invalid value 'integration'" => {
// skip or warn; feature gated off in this build
}
result => result?,
} Prevention
- Check FeatureFlag::IntegrationCommand.is_enabled() in-process before dispatching
- Do not infer availability from parse success - clap accepts the subcommand in every build
- Probe gated subcommands once at script startup and cache the result
- Pin automation to a build/channel whose flag set you have verified
When it happens
Trigger: Invoking `<cli> integration <subcmd>` on a native build where FeatureFlag::IntegrationCommand.is_enabled() == false. Parsing succeeds because clap's grammar always contains the variant; the error comes only from the runtime flag check inside the handler.
Common situations: Running the CLI from a stable/release Warp install while MCP/OAuth integrations are still gated; an account not enrolled server-side; scripts written against a dogfood build reused on a release build; after switching update channels or downgrading.
Related errors
- invalid value 'schedule'
- invalid value 'secret'
- invalid value 'harness-support'
- invalid value 'artifact'
- invalid value 'api-key'
AI-assisted analysis of warpdotdev/warp@e72fd7aacb (2026-08-16).
Data as JSON: /api/errors/db91348e5f4569f8.
Report an issue: GitHub.