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

  1. Run the command from a build/channel where the integration feature is enabled (dogfood/preview build, or an account enrolled server-side)
  2. Update Warp/the CLI to a version where the gate has been promoted to your channel
  3. If you are a Warp developer, set a feature-flag override (or set_user_preference) or add FeatureFlag::IntegrationCommand to DOGFOOD_FLAGS and rebuild
  4. 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

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


AI-assisted analysis of warpdotdev/warp@e72fd7aacb (2026-08-16). Data as JSON: /api/errors/db91348e5f4569f8. Report an issue: GitHub.