{"record":{"id":"952b33f9d9ee9711","repo":"warpdotdev/warp","slug":"invalid-value-harness-support","errorCode":null,"errorMessage":"invalid value 'harness-support'","messagePattern":"invalid value 'harness-support'","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app/src/ai/agent_sdk/mod.rs","lineNumber":202,"sourceCode":"                return Err(anyhow::anyhow!(\"invalid value 'schedule'\"));\n            }\n            schedule::run(ctx, global_options, schedule_cmd)\n        }\n        CliCommand::Secret(secret_cmd) => {\n            if !FeatureFlag::WarpManagedSecrets.is_enabled() {\n                return Err(anyhow::anyhow!(\"invalid value 'secret'\"));\n            }\n            secret::run(ctx, global_options, secret_cmd)\n        }\n        CliCommand::Federate(federate_cmd) => {\n            if !FeatureFlag::OzIdentityFederation.is_enabled() {\n                return Err(anyhow::anyhow!(\"invalid value 'federate'\"));\n            }\n            federate::run(ctx, global_options, federate_cmd)\n        }\n        CliCommand::HarnessSupport(args) => {\n            if !FeatureFlag::AgentHarness.is_enabled() {\n                return Err(anyhow::anyhow!(\"invalid value 'harness-support'\"));\n            }\n            harness_support::run(ctx, global_options, args)\n        }\n        CliCommand::Artifact(artifact_cmd) => {\n            if !FeatureFlag::ArtifactCommand.is_enabled() {\n                return Err(anyhow::anyhow!(\"invalid value 'artifact'\"));\n            }\n            artifact::run(ctx, global_options, artifact_cmd)\n        }\n        CliCommand::ApiKey(api_key_cmd) => {\n            if !FeatureFlag::APIKeyManagement.is_enabled() {\n                return Err(anyhow::anyhow!(\"invalid value 'api-key'\"));\n            }\n            api_key::run(ctx, global_options, api_key_cmd)\n        }\n        CliCommand::Runner(runner_cmd) => {\n            if !FeatureFlag::CloudAgentRunners.is_enabled() {\n                return Err(anyhow::anyhow!(\"invalid value 'runner'\"));","sourceCodeStart":184,"sourceCodeEnd":220,"githubUrl":"https://github.com/warpdotdev/warp/blob/e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc/app/src/ai/agent_sdk/mod.rs#L184-L220","documentation":"Thrown by the dispatcher arm for CliCommand::HarnessSupport (mod.rs:202) when `harness-support` parsed but FeatureFlag::AgentHarness is disabled. The clap-mimicking 'invalid value' error hides the harness-support tooling (install/setup of external agent harness CLIs) when the flag is off. Defaults to false; channel/account-dependent.","triggerScenarios":"Invoking `<cli> harness-support <args>` on a build where FeatureFlag::AgentHarness.is_enabled() == false. Related gates (--harness on run/run-cloud, harness_support::run) share the same flag.","commonSituations":"Bootstrapping a claude/codex/gemini/opencode harness via the CLI on a gated build; CI images built from release binaries where AgentHarness is off; docs referencing harness-support on versions where it had not shipped.","solutions":["Use a build/account where AgentHarness is enabled, or update the CLI to a version where harness support is generally available","Install the target harness CLI (claude/codex/gemini) manually if you only need the binary present","As a Warp developer, override the flag or add FeatureFlag::AgentHarness to DOGFOOD_FLAGS and rebuild"],"exampleFix":"# before\n$ oz harness-support install claude\nError: invalid value 'harness-support'\n\n# after: check the shared gate first\nif FeatureFlag::AgentHarness.is_enabled() {\n    harness_support::run(ctx, global_options, args)?;\n}","handlingStrategy":"validation","validationCode":"if matches!(cmd, CliCommand::HarnessSupport(_))\n    && !FeatureFlag::AgentHarness.is_enabled()\n{\n    return Ok(());\n}","typeGuard":"pub fn harness_feature_available() -> bool {\n    FeatureFlag::AgentHarness.is_enabled()\n}","tryCatchPattern":"match agent_sdk::run(ctx, opts, cmd) {\n    Err(e) if e.to_string() == \"invalid value 'harness-support'\" => {\n        // install the harness CLI manually instead\n    }\n    result => result?,\n}","preventionTips":["Share one AgentHarness availability check across harness-support, run --harness, and run-cloud --harness paths","Docker images: install claude/codex/gemini CLIs directly instead of relying on harness-support when gated","Cache the probe result per session"],"tags":["cli","feature-flags","agent-harness","rust","warp"],"backgroundTag":null,"analyzedSha":"e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc","analyzedAt":"2026-08-16T08:27:25.381Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}