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
- Remove the attachment arguments (or clear the attachments entry in the config file) and rerun
- Run on a build where AmbientAgentsImageUpload is enabled (dogfood/preview channel, or a dev build with the flag enabled)
- If you control the build: add FeatureFlag::AmbientAgentsImageUpload to the enabled flag list in warp_core/src/features.rs and rebuild
- 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
- Check FeatureFlag::AmbientAgentsImageUpload.is_enabled() before collecting attachment paths
- Keep config files free of attachment entries on release builds
- Pin automation to a channel that supports image upload
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
- Unsupported feature
- unexpected argument '--skill' found
- Too many attachments. Maximum {} attachments allowed, but {}
- The --conversation flag is not available in this build
- The 'conversation' subcommand is not available in this build
AI-assisted analysis of warpdotdev/warp@e72fd7aacb (2026-08-16).
Data as JSON: /api/errors/8e58371798bd453d.
Report an issue: GitHub.