warpdotdev/warp · error

Attachment upload is not enabled

Error message

Attachment upload is not enabled

What it means

Fatal error raised by the ambient (cloud) agent launcher when attachment paths are supplied while the `AmbientAgentsImageUpload` feature flag is disabled in the running build. Rather than silently dropping user files, the CLI aborts the run before agent startup. Whether attachment processing exists at all is controlled by Warp's runtime feature-flag plumbing (dogfood/preview/release flag lists in warp_core/src/features.rs).

Source

Thrown at app/src/ai/agent_sdk/ambient.rs:374

                        .attachment_paths
                        .iter()
                        .enumerate()
                        .map(|(i, path)| process_attachment(path, i))
                        .collect::<Result<Vec<_>, _>>()
                    {
                        Ok(processed) => processed,
                        Err(err) => {
                            super::report_fatal_error(err, ctx);
                            return;
                        }
                    }
                } else {
                    vec![]
                }
            } else {
                if !args.attachment_paths.is_empty() {
                    super::report_fatal_error(
                        anyhow::anyhow!("Attachment upload is not enabled"),
                        ctx,
                    );
                    return;
                }
                vec![]
            };

            let mut environment_args = args.environment;
            if environment_args.environment.is_none() && !environment_args.no_environment
                && let Some(environment_id) = loaded_file
                    .as_ref()
                    .and_then(|f| f.file.environment_id.clone())
                {
                    environment_args.environment = Some(environment_id);
                }

            let environment_id = match EnvironmentChoice::resolve_for_create(environment_args, ctx)
            {

View on GitHub (pinned to e72fd7aacb)

Solutions

  1. Remove the attachment arguments (or clear the attachments entry in the config file) and rerun
  2. Run on a build where AmbientAgentsImageUpload is enabled (dogfood/preview channel, or a dev build with the flag enabled)
  3. If you control the build: add FeatureFlag::AmbientAgentsImageUpload to the enabled flag list in warp_core/src/features.rs and rebuild
  4. Gate your tooling on FeatureFlag::AmbientAgentsImageUpload.is_enabled() before ever passing attachments

Example fix

# before
warp agent run --attachments ./img.png "prompt"
# after (build without the flag)
warp agent run "prompt"
Defensive patterns

Strategy: validation

Validate before calling

use warp_core::features::FeatureFlag;

fn attachments_allowed(paths: &[std::path::PathBuf]) -> bool {
    FeatureFlag::AmbientAgentsImageUpload.is_enabled() || paths.is_empty()
}
// Clear/skip attachment args when false; never send them to a build without the flag.

Prevention

When it happens

Trigger: Running an agent-sdk launch command with a non-empty `attachment_paths` argument (CLI attachment flags or a config file) while `FeatureFlag::AmbientAgentsImageUpload.is_enabled()` returns false. The earlier max-count check (MAX_ATTACHMENT_COUNT_FOR_CLOUD_QUERY) passes, then the flag gate fails and report_fatal_error terminates the command.

Common situations: Using attachment flags on a stable/release build where the feature is not rolled out; a dogfood runtime flag toggled off; automation written against a dev build then run on a production build; config files carrying attachment entries on builds without the flag.

Related errors


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