This page contains an overview of the
gcloud command-line tool and
its common command patterns and capabilities.
What is the
gcloud command-line tool is the primary CLI tool to create and manage
Google Cloud resources. You can use this tool to perform many common
platform tasks either from the command line or in scripts and other automations.
For example, you can use the
gcloud tool to create and manage:
- Compute Engine virtual machine instances and other resources
- Cloud SQL instances
- GKE clusters
- Dataproc clusters and jobs
- Cloud DNS managed zones and record sets
- Cloud Deployment Manager deployments
You can also use the
gcloud tool to deploy App Engine
applications, manage authentication, customize local configuration, and perform
other tasks. For more information about the capabilities of
gcloud tool, see the
gcloud tool reference.
gcloud tool cheat sheet
For a quick introduction to the
gcloud tool, a list of commonly
used commands, and a look at how these commands are structured, refer to the
gcloud tool cheat sheet.
gcloud tool and Cloud SDK
By default, the Cloud SDK installs
gcloud tool commands
that are at the General Availability level only. Additional functionality is
available in Cloud SDK components named
beta. These components allow you to use the
gcloud tool to work with Cloud Bigtable, Dataflow,
and other parts of Google Cloud at earlier release levels than
gcloud tool releases have the same version number as the
Cloud SDK. The current Cloud SDK version is
361.0.0. You can download and install previous versions
of the Cloud SDK from the
You can download the latest version of Cloud SDK, which includes the
gcloud tool, from the download page.
gcloud tool commands have the following release levels:
|General Availability||None||Commands are considered fully stable and available for production use. Advance warnings will be made for commands that break current functionality and documented in the release notes.|
||Commands are functionally complete, but may still have some outstanding issues. Breaking changes to these commands may be made without notice.|
||Commands are in early release and may change without notice.|
beta components are not installed by default when you install
the Cloud SDK. You must
install these components separately using the
gcloud components install command. If you try to run an alpha or beta command
and the corresponding component is not installed, the
prompts you to install it.
Within each release level,
gcloud tool commands are organized into a
nested hierarchy of command groups, each of which represents a product or
feature of Google Cloud or its functional subgroups.
||Commands related to Compute Engine in general availability|
||Commands related to Compute Engine instances in general availability|
||Commands related to Compute Engine in Beta|
||Commands related to managing App Engine deployments in Alpha|
gcloud tool commands
You can run
gcloud tool commands from the command line in the same
way you use other command-line tools. You can also run
commands from scripts and other automations,
for example, when using Jenkins to automate Google Cloud tasks.
gcloud tool properties are settings that
affect the behavior of the
gcloud tool and other
Cloud SDK tools. Some of these properties can be set by either global
or command flags - in which case, the value set by the flag takes precedence.
Enabling accessibility features
For a more streamlined screen reader experience, the
comes with an
To enable this property, run:
gcloud config set accessibility/screen_reader true
For more details about the accessibility features that come with the gcloud command-line tool, refer to the Enabling accessibility features guide.
A configuration is a named set of
gcloud tool properties. It works
like a profile.
Starting off with Cloud SDK, you'll work with a single
default and you can set properties by running either
gcloud init or
gcloud config set. This single default configuration is
suitable for most use cases.
If you'd like to work with multiple projects or authorization accounts, you can
set up multiple configurations with
gcloud config configurations create and
switch among them accordingly. Within these configurations, you can customize
properties. For example, to set your project within an active configuration
gcloud config set project <project-id>.
For a detailed account of these concepts, see the Configurations guide.
gcloud tool provides a set of
gcloud tool-wide flags that govern the
behavior of commands on a per-invocation level. Flags override any values set in
Cloud SDK properties.
Positional arguments and flags
While both positional arguments and flags affect the output of a
gcloud tool command, there is a subtle difference in their use
cases. A positional argument is used to define an entity on which a command
operates while a flag is required to set a variation in a command's behaviour.
Use of stdout and stderr
Successful output of
gcloud tool commands is written to stdout.
All other types of responses - prompts, warnings, and errors - are written
to stderr. Note that anything written to stderr is not stable and should not
be scripted against.
For a definitive list of guidelines on handling output, refer to the Scripting guide.
To protect against unintended destructive actions, the
confirms your intentions before executing commands such as
gcloud projects delete.
You can also expect prompts if you were to create a Compute Engine
virtual machine instance, say 'test-instance', using
gcloud compute instances create test-instance. You will be asked to choose
a zone to create the instance in.
To disable prompting, use the
Suppressing prompting, writing to the terminal, and logging
--quiet flag (also,
-q) for the
disables all interactive prompts when running
gcloud tool commands
and comes in handy when scripting. If input is needed, defaults are used. If
there aren't defaults, an error is raised.
To suppress printing of command output to standard output and standard error in
the terminal, use the
To adjust verbosity of logs instead, use the
with an appropriate level (debug, info, warning, error, critical, or none).
Determining output structure
By default, when a
gcloud tool command returns a list of resources,
they are pretty-printed to standard output. To produce more meaningful output,
the format, filter and projection flags allow you to finetune your output.
If you'd like to define just the format of your output, use the
--format flag to produce a tabulated
or flattened version of your output (for interactive display) or
a machine-readable version of the output (
If you'd like to work through a quick interactive tutorial to help get you familiar with filter and format functionality, follow the link below.
- Learn more about
gcloudtool commands in the