Skip to main content

atmos aws cloudformation changeset delete

Delete a named changeset (DeleteChangeSet) without touching the stack itself. Use this to clean up changesets created with changeset create that you decided not to execute.

Experimental
atmos aws cloudformation changeset delete --help
 

Usage​

atmos aws cloudformation changeset delete <component> --stack <stack> --changeset-name <name> [options]
atmos aws cloudformation changeset delete vpc -s plat-ue2-dev --changeset-name vpc-2026-08-25

A changeset name that does not exist on the stack is an error (aws/cloudformation changeset not found) with a hint to run changeset list for the valid names, never a deleted message with exit code 0.

Deleting the last unexecuted CREATE changeset also leaves its REVIEW_IN_PROGRESS stack placeholder intact. The placeholder still consumes stack quota. If you are abandoning the stack, first confirm that no pending changesets are needed, then explicitly run atmos aws cloudformation delete:

atmos aws cloudformation delete vpc -s plat-ue2-dev

That command asks for confirmation and waits for stack deletion to finish. Automatic placeholder cleanup applies only to placeholders created by the current plan or diff preview; deleting a named changeset never deletes its stack.

Flags​

--stack, -s (required for a single component)
Atmos stack. Required when operating on a single component; optional (and used only to narrow the selected set) with --all/--affected.
--changeset-name (required)
Name of the changeset to delete.
--auto-approve (optional)
Skip the interactive confirmation prompt. Without it, changeset delete prompts for confirmation on a TTY before deleting the changeset.
--all (optional)
Process all aws/cloudformation components in dependency order.
--affected (optional)
Process affected aws/cloudformation components and their dependencies. Compares the working tree against a base: see --base and the Git flags below.
--include-dependents (optional)
With --affected, include dependent aws/cloudformation components.
--base (optional)
Git base ref or SHA to compare against for affected detection: --base=origin/main. A value that looks like a commit SHA is treated as --sha, anything else as --ref. Used with --affected.
--tags (optional)
Filter by tags (comma-separated, matches any): --tags=production,tier-1. Composes with --all/--affected to narrow the selected set further; cannot be combined with a single component argument.
--labels (optional)
Filter by labels (repeatable and/or comma-separated key=value or key:value pairs, matches all): --labels=cost-center=platform,compliance=sox. Composes with --all/--affected/--tags; cannot be combined with a single component argument.
--ci (optional)
Enable native CI integration (requires ci.enabled): writes the job summary and output variables for the operation. Also enabled by the CI and ATMOS_CI environment variables.
--ref (optional)
Git ref to compare against for affected detection. Used with --affected.
--sha (optional)
Git SHA to compare against for affected detection. Used with --affected.
--repo-path (optional)
Path to an already cloned target repository to use as the affected baseline. Used with --affected.
--clone-target-ref (optional)
Clone the target ref instead of checking it out in the current repository for affected detection. Used with --affected.
--ssh-key (optional)
Path to the SSH private key used to clone the target ref for affected detection. Used with --clone-target-ref.
--ssh-key-password (optional)
Password for the SSH private key used to clone the target ref for affected detection. Used with --clone-target-ref.
note

changeset delete does not fire before/after hook events — only apply, diff, delete, drift detect, and drift describe do.