Skip to main content

Google Cloud CLI (gcloud) Cleanup & Prune Cheat Sheet 2026

Google Cloud CLI (gcloud) — Cleanup & Prune Cheat Sheet 2026

Google Cloud CLI (gcloud) Cleanup & Prune Cheat Sheet is the complete quick-reference of Google Cloud CLI (gcloud) Cleanup & Prune commands grouped by function. Copy any command with one click and find what you need with Ctrl+F in under 3 seconds.

Cleanup & Prune

Action Command Useful flags
Delete used disks
gcloud compute disks delete DISK_NAME --zone=ZONE
--zone (required) --quiet
List & delete unused disks
gcloud compute disks list --filter="users:[]" --format="value(name,zone)" | while read name zone; do gcloud compute disks delete $name --zone=$zone --quiet; done
--filter --format --quiet
Delete untagged container images
gcloud container images list-tags IMAGE_PATH --filter="tags:[]" --format="get(digest)" | xargs -I {} gcloud container images delete IMAGE_PATH@sha256:{} --quiet
--filter --format --quiet
Delete old container image tags
gcloud container images list-tags IMAGE_PATH --filter="timestamp.datetime < 2025-01-01" --format="get(digest)" | xargs -I {} gcloud container images delete IMAGE_PATH@sha256:{} --quiet
--filter --format --quiet
List & delete unused external IPs
gcloud compute addresses list --filter="users:[]" --format="value(name,region)" | while read name region; do gcloud compute addresses delete $name --region=$region --quiet; done
--filter --format --quiet
Delete old service accounts
gcloud iam service-accounts delete SA_EMAIL --quiet
--quiet

⚠️ Dangerous / Destructive Commands

These commands are irreversible. Verify your environment (dev/staging vs prod) before running them.

Action Command Warning
⚠️ Compute disks
gcloud compute disks delete DISK_NAME --zone=ZONE
Irreversible — verify the target before running
⚠️ Compute disks
gcloud compute disks list --filter="users:[]" --format="value(name,zone)" | while read name zone; do gcloud compute disks delete $name --zone=$zone --quiet; done
Irreversible — verify the target before running
⚠️ Container images
gcloud container images list-tags IMAGE_PATH --filter="tags:[]" --format="get(digest)" | xargs -I {} gcloud container images delete IMAGE_PATH@sha256:{} --quiet
Irreversible — verify the target before running
⚠️ Container images
gcloud container images list-tags IMAGE_PATH --filter="timestamp.datetime < 2025-01-01" --format="get(digest)" | xargs -I {} gcloud container images delete IMAGE_PATH@sha256:{} --quiet
Irreversible — verify the target before running
⚠️ Compute addresses
gcloud compute addresses list --filter="users:[]" --format="value(name,region)" | while read name region; do gcloud compute addresses delete $name --region=$region --quiet; done
Irreversible — verify the target before running
⚠️ Iam service-accounts
gcloud iam service-accounts delete SA_EMAIL --quiet
Irreversible — verify the target before running

FAQ — Frequently Asked Questions

What is the difference between Cleanup & Prune and the other groups?

Each group in this Google Cloud CLI (gcloud) cheat sheet covers a distinct area. Cleanup & Prune focuses on its specific scope, while the other groups and the remaining groups cover networking, storage, security and diagnostics respectively.

How do I check the installed Google Cloud CLI (gcloud) version?

Run the version command (usually google version or google --version). The output shows the client and, when applicable, the server version.

Why does Google Cloud CLI (gcloud) return ‘permission denied’?

A ‘permission denied’ error in Google Cloud CLI (gcloud) usually means the current user lacks sufficient privileges or credentials are not configured. Check: (1) assigned IAM/RBAC roles, (2) an active authentication context via the corresponding login command.

How do I filter Google Cloud CLI (gcloud) output by status or name?

Use flags such as --filter, --selector or --query depending on the tool. You can also pipe into grep or jq to process JSON:

google list | grep RUNNING

What is the fastest way to debug a Google Cloud CLI (gcloud) error?

Add the verbose flag (--verbose, -v or --debug) to the failing command. This reveals the underlying HTTP/API calls and the full error response body.

Official sources & references

Commands cross-checked against vendor documentation and high-authority repositories: