Skip to content

[cli] Remove --yes from vercel blob delete-store - #17521

Open
falcoagustin wants to merge 1 commit into
mainfrom
falcoagustin/blob-delete-store-remove-yes
Open

[cli] Remove --yes from vercel blob delete-store#17521
falcoagustin wants to merge 1 commit into
mainfrom
falcoagustin/blob-delete-store-remove-yes

Conversation

@falcoagustin

@falcoagustin falcoagustin commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Problem

vercel blob delete-store --yes allowed permanently deleting a Blob store with no confirmation, from scripts, CI, or agents. Store deletion cannot be undone, so a single-flag bypass is too easy to trigger accidentally (or for an agent to run autonomously).

Solution

Make blob delete-store interactive-only, following the CLI's established pattern for severe destructive operations (firewall attack-mode enable/disable):

  • Remove the --yes option from the subcommand; it is now rejected as an unknown option.
  • The confirmation prompt (defaulting to No) is now unconditional.
  • In non-interactive contexts (--non-interactive, agents, non-TTY), the command fails immediately with the dangerous_operation_requires_user agent-error payload instructing that a user must run the command interactively.

This aligns with the CLI UX guideline that --yes must not bypass severe destructive confirmation by itself.

Breaking behavior note: existing scripts using blob delete-store <id> --yes will start failing with an unknown-option error. This is the intended migration — store deletion must be performed interactively by a human.

🤖 Generated with Claude Code

@falcoagustin
falcoagustin requested review from a team as code owners August 19, 2026 19:22
@changeset-bot

changeset-bot Bot commented Aug 19, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: bb81744

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
vercel Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
vercel-vercel Error Error Aug 19, 2026 8:08pm
vercel-vercel-1c Error Error Aug 19, 2026 8:08pm
vercel-vercel-4w Error Error Aug 19, 2026 8:08pm
vercel-vercel-4z Error Error Aug 19, 2026 8:08pm
vercel-vercel-88 Error Error Aug 19, 2026 8:08pm
vercel-vercel-b4 Error Error Aug 19, 2026 8:08pm
vercel-vercel-bw Error Error Aug 19, 2026 8:08pm
vercel-vercel-ef Error Error Aug 19, 2026 8:08pm
vercel-vercel-en Error Error Aug 19, 2026 8:08pm
vercel-vercel-fw Error Error Aug 19, 2026 8:08pm
vercel-vercel-m6 Error Error Aug 19, 2026 8:08pm
vercel-vercel-mg Error Error Aug 19, 2026 8:08pm
vercel-vercel-no Error Error Aug 19, 2026 8:08pm
vercel-vercel-nx Error Error Aug 19, 2026 8:08pm
vercel-vercel-pi Error Error Aug 19, 2026 8:08pm
vercel-vercel-rl Error Error Aug 19, 2026 8:08pm
vercel-vercel-u2 Error Error Aug 19, 2026 8:08pm
vercel-vercel-vo Error Error Aug 19, 2026 8:08pm
vercel-vercel-wo Error Error Aug 19, 2026 8:08pm
vercel-vercel-zu Error Error Aug 19, 2026 8:08pm
vercel-vercel-zv Error Error Aug 19, 2026 8:08pm

@github-actions

github-actions Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

🧪 Unit Test Strategy

Comparing: 17d9ebabb81744 (view diff)

Strategy: Affected packages only

✅ Only testing packages that have been modified or depend on modified packages.

Affected packages - 1 (2%)
  1. vercel
Unaffected packages - 48 (98%)
  1. @vercel-internals/get-package-json
  2. @vercel-internals/ipc-proxy
  3. @vercel/aws
  4. @vercel/backends
  5. @vercel/build-utils
  6. @vercel/cervel
  7. @vercel/cli-auth
  8. @vercel/cli-config
  9. @vercel/cli-exec
  10. @vercel/client
  11. @vercel/config
  12. @vercel/connect
  13. @vercel/container
  14. @vercel/detect-agent
  15. @vercel/edge
  16. @vercel/elysia
  17. @vercel/error-utils
  18. @vercel/express
  19. @vercel/fastify
  20. @vercel/firewall
  21. @vercel/frameworks
  22. @vercel/fs-detectors
  23. @vercel/functions
  24. @vercel/gatsby-plugin-vercel-analytics
  25. @vercel/gatsby-plugin-vercel-builder
  26. @vercel/go
  27. @vercel/h3
  28. @vercel/hono
  29. @vercel/hydrogen
  30. @vercel/koa
  31. @vercel/nestjs
  32. @vercel/next
  33. @vercel/node
  34. @vercel/oidc
  35. @vercel/oidc-aws-credentials-provider
  36. @vercel/passport
  37. @vercel/python
  38. @vercel/python-analysis
  39. @vercel/redwood
  40. @vercel/related-projects
  41. @vercel/remix-builder
  42. @vercel/routing-utils
  43. @vercel/ruby
  44. @vercel/rust
  45. @vercel/static-build
  46. @vercel/static-config
  47. @vercel/vc-native
  48. examples

Results

  • Unit tests: Only affected packages will run unit tests
  • E2E tests: Running in parallel in this workflow
  • Type checks: Only affected packages will run type checks

This comment is automatically generated based on the affected testing strategy

Deleting a Blob store cannot be undone, so it now always requires
interactive confirmation and can no longer be run non-interactively.
Non-interactive contexts get the dangerous_operation_requires_user
agent error, following the firewall attack-mode pattern.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@falcoagustin
falcoagustin force-pushed the falcoagustin/blob-delete-store-remove-yes branch from 54c5eb0 to bb81744 Compare August 19, 2026 20:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant