warpdotdev/warp · error · anyhow::Error
Secret '{}' not found
Error message
Secret '{}' not found What it means
During update_secret, the secrets list is fetched from the server and find_secret_type searches it by name within the resolved owner scope. This error means no secret with that name exists for that owner: typo, deleted secret, or a personal-vs-team scope mismatch between the lookup and where the secret actually lives.
Source
Thrown at app/src/ai/agent_sdk/secret.rs:433
};
if let Some(secret_value) = secret_value {
// Look up the existing secret's type so we use the correct ManagedSecretValue variant.
let list_future = manager.list_secrets();
ctx.spawn(list_future, move |manager, list_result, ctx| {
let secrets = match list_result {
Ok(secrets) => secrets,
Err(err) => {
super::report_fatal_error(err, ctx);
return;
}
};
let secret_type = match find_secret_type(&secrets, &args.name, &secret_owner) {
Some(t) => t,
None => {
super::report_fatal_error(
anyhow::anyhow!("Secret '{}' not found", args.name),
ctx,
);
return;
}
};
let managed_secret_value =
match make_secret_value_from_gql_type(secret_type, &secret_value) {
Ok(v) => v,
Err(err) => {
super::report_fatal_error(err, ctx);
return;
}
};
let update_future = manager.update_secret(
secret_owner,
args.name.clone(),
Some(managed_secret_value),View on GitHub (pinned to e72fd7aacb)
Solutions
- Run the secret list command with the same owner/scope flags and confirm the exact name
- Pass the matching --owner flag so the lookup hits the scope where the secret lives
- Re-create the secret if it was deleted
- Copy-paste the name from the listing rather than typing it
Example fix
// before oz secret update deploy-key --value newkey # Error: Secret 'deploy-key' not found // after oz secret list --owner my-team # name lives in team scope oz secret update deploy-key --owner my-team --value newkey
Defensive patterns
Strategy: validation
Validate before calling
let secrets = list_secrets(&owner).await?;
let secret_type = find_secret_type(&secrets, &args.name, &secret_owner)
.ok_or_else(|| anyhow::anyhow!("no secret '{}' under {:?}; check --owner", args.name, owner))?;
update_secret(secret_type, args).await?; Prevention
- List with the same owner flags before updating
- Standardize owner flags across create/update/delete in scripts
- Copy names from listings
When it happens
Trigger: oz secret update <name> --value ... where the name does not exist under the resolved owner (e.g. missing --owner <team> so the lookup runs in personal scope), or the secret was deleted.
Common situations: Forgetting the team owner flag; typos; stale names after delete/re-create; assuming the update searches all scopes.
Related errors
- Runner '{name}' not found
- Schedule not found
- This feature is not enabled
- Secret name is required. Usage: oz secret create <NAME>
- Refusing to delete secret without confirmation in non-intera
AI-assisted analysis of warpdotdev/warp@e72fd7aacb (2026-08-16).
Data as JSON: /api/errors/bff40794d741abd0.
Report an issue: GitHub.