Installing or updating to the latest version of the AWS CLI
This topic describes how to install or update the latest release of the AWS Command Line Interface (AWS CLI)
on supported operating systems. For information on the latest releases of AWS CLI, see the
AWS CLI version 2
Changelog
To install a past release of the AWS CLI, see Installing past releases of the AWS CLI version 2. For uninstall instructions, see Uninstalling the AWS CLI version 2.
Important
AWS CLI versions 1 and 2 use the same aws
command name. If you previously
installed AWS CLI version 1, see Migrating from AWS CLI version 1 to AWS CLI version 2.
Topics
AWS CLI install and update instructions
For installation instructions, expand the section for your operating system.
Install and update requirements
-
You must be able to extract or "unzip" the downloaded package. If your operating system doesn't have the built-in
unzip
command, use an equivalent. -
The AWS CLI uses
glibc
,groff
, andless
. These are included by default in most major distributions of Linux. -
We support the AWS CLI on 64-bit versions of recent distributions of CentOS, Fedora, Ubuntu, Amazon Linux 1, Amazon Linux 2, Amazon Linux 2023, and Linux ARM.
-
Because AWS doesn't maintain third-party repositories other than
snap
, we can’t guarantee that they contain the latest version of the AWS CLI.
Install or update the AWS CLI
Warning
If this is your first time updating on Amazon Linux, to install the latest
version of the AWS CLI, you must uninstall the pre-installed
yum
version using the following command:
$
sudo yum remove awscli
After the yum
installation of the AWS CLI is removed,
follow the below Linux install instructions.
You can install the AWS CLI by using one of the following methods:
-
The command line installer is good option for version control, as you can specify the version to install. This option does not auto-update and you must download a new installer each time you update to overwrite previous version.
-
The officially supported
snap
package is a good option to always have the latest version of the AWS CLI as snap packages automatically refresh. There is no built-in support for selecting minor versions of AWS CLI and therefore is not an optimal install method if your team needs to pin versions.
- Command line installer - Linux x86 (64-bit)
-
To update your current installation of AWS CLI, download a new installer each time you update to overwrite previous versions. Follow these steps from the command line to install the AWS CLI on Linux.
The following are quick installation steps in a single copy and paste group that provide a basic installation. For guided instructions, see the steps that follow.
Note
(Optional) The following command block downloads and installs the AWS CLI without first verifying the integrity of your download. To verify the integrity of your download, use the below step by step instructions.
To install the AWS CLI, run the following commands.
$
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
To update your current installation of the AWS CLI, add your existing symlink and installer information to construct the
install
command using the--bin-dir
,--install-dir
, and--update
parameters. The following command block uses an example symlink of/usr/local/bin
and example installer location of/usr/local/aws-cli
to install the AWS CLI locally for the current user.$
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install --bin-dir
/usr/local/bin
--install-dir/usr/local/aws-cli
--updateGuided installation steps
-
Download the installation file in one of the following ways:
-
Use the
curl
command – The-o
option specifies the file name that the downloaded package is written to. The options on the following example command write the downloaded file to the current directory with the local nameawscliv2.zip
.$
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
-
Downloading from the URL – To download the installer with your browser, use the following URL: https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip
-
-
(Optional) Verifying the integrity of your downloaded zip file
If you chose to manually download the AWS CLI installer package
.zip
in the above steps, you can use the following steps to verify the signatures by using theGnuPG
tool.The AWS CLI installer package
.zip
files are cryptographically signed using PGP signatures. If there is any damage or alteration of the files, this verification fails and you should not proceed with installation.-
Download and install the
gpg
command using your package manager. For more information aboutGnuPG
, see the GnuPG website. -
To create the public key file, create a text file and paste in the following text.
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG 94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC ZqFYbwUJCv/cOgAKCRCmMQrMRnJHXKYuEAC+wtZ611qQtOl0t5spM9SWZuszbcyA 0xBAJq2pncnp6wdCOkuAPu4/R3UCIoD2C49MkLj9Y0Yvue8CCF6OIJ8L+fKBv2DI yWZGmHL0p9wa/X8NCKQrKxK1gq5PuCzi3f3SqwfbZuZGeK/ubnmtttWXpUtuU/Iz VR0u/0sAy3j4uTGKh2cX7XnZbSqgJhUk9H324mIJiSwzvw1Ker6xtH/LwdBeJCck bVBdh3LZis4zuD4IZeBO1vRvjot3Oq4xadUv5RSPATg7T1kivrtLCnwvqc6L4LnF 0OkNysk94L3LQSHyQW2kQS1cVwr+yGUSiSp+VvMbAobAapmMJWP6e/dKyAUGIX6+ 2waLdbBs2U7MXznx/2ayCLPH7qCY9cenbdj5JhG9ibVvFWqqhSo22B/URQE/CMrG +3xXwtHEBoMyWEATr1tWwn2yyQGbkUGANneSDFiTFeoQvKNyyCFTFO1F2XKCcuDs 19nj34PE2TJilTG2QRlMr4D0NgwLLAMg2Los1CK6nXWnImYHKuaKS9LVaCoC8vu7 IRBik1NX6SjrQnftk0M9dY+s0ZbAN1gbdjZ8H3qlbl/4TxMdr87m8LP4FZIIo261 Eycv34pVkCePZiP+dgamEiQJ7IL4ZArio9mv6HbDGV6mLY45+l6/0EzCwkI5IyIf BfWC9s/USgxchg== =ptgS -----END PGP PUBLIC KEY BLOCK-----
For reference, the following are the details of the public key.
Key ID: A6310ACC4672475C Type: RSA Size: 4096/4096 Created: 2019-09-18 Expires: 2025-07-24 User ID: AWS CLI Team <aws-cli@amazon.com> Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
-
Import the AWS CLI public key with the following command, substituting
public-key-file-name
with the file name of the public key you created.$
gpg --import
public-key-file-name
gpg: /home/
username
/.gnupg/trustdb.gpg: trustdb created gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported gpg: Total number processed: 1 gpg: imported: 1 -
Download the AWS CLI signature file for the package you downloaded. It has the same path and name as the
.zip
file it corresponds to, but has the extension.sig
. In the following examples, we save it to the current directory as a file namedawscliv2.sig
.For the latest version of the AWS CLI, use the following command block:
$
curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig
For a specific version of the AWS CLI, append a hyphen and the version number to the filename. For this example the filename for version
2.0.30
would beawscli-exe-linux-x86_64-2.0.30.zip.sig
resulting in the following command:$
curl -o awscliv2.sig https://awscli.amazonaws.com/
awscli-exe-linux-x86_64-2.0.30.zip.sig
For a list of versions, see the AWS CLI version 2 Changelog
on GitHub. -
Verify the signature, passing both the downloaded
.sig
and.zip
file names as parameters to thegpg
command.$
gpg --verify awscliv2.sig awscliv2.zip
The output should look similar to the following.
gpg: Signature made Mon Nov 4 19:00:01 2019 PST gpg: using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C gpg: Good signature from "AWS CLI Team <aws-cli@amazon.com>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
Important
The warning in the output is expected and doesn't indicate a problem. It occurs because there isn't a chain of trust between your personal PGP key (if you have one) and the AWS CLI PGP key. For more information, see Web of trust
.
-
-
Unzip the installer. If your Linux distribution doesn't have a built-in
unzip
command, use an equivalent to unzip it. The following example command unzips the package and creates a directory namedaws
under the current directory.$
unzip awscliv2.zip
Note
When updating from a previous version, the
unzip
command prompts to overwrite existing files. To skip these prompts, such as with script automation, use the-u
update flag forunzip
. This flag automatically updates existing files and creates new ones as needed.$
unzip -u awscliv2.zip
-
Run the install program. The installation command uses a file named
install
in the newly unzippedaws
directory. By default, the files are all installed to/usr/local/aws-cli
, and a symbolic link is created in/usr/local/bin
. The command includessudo
to grant write permissions to those directories.$
sudo ./aws/install
You can install without
sudo
if you specify directories that you already have write permissions to. Use the following instructions for theinstall
command to specify the installation location:-
Ensure that the paths you provide to the
-i
and-b
parameters contain no volume name or directory names that contain any space characters or other white space characters. If there is a space, the installation fails. -
--install-dir
or-i
– This option specifies the directory to copy all of the files to.The default value is
/usr/local/aws-cli
. -
--bin-dir
or-b
– This option specifies that the mainaws
program in the install directory is symbolically linked to the fileaws
in the specified path. You must have write permissions to the specified directory. Creating a symlink to a directory that is already in your path eliminates the need to add the install directory to the user's$PATH
variable.The default value is
/usr/local/bin
.
$
./aws/install -i
/usr/local/aws-cli
-b/usr/local/bin
Note
To update your current installation of the AWS CLI, add your existing symlink and installer information to construct the
install
command with the--update
parameter.$
sudo ./aws/install --bin-dir
/usr/local/bin
--install-dir/usr/local/aws-cli
--updateTo locate the existing symlink and installation directory, use the following steps:
-
Use the
which
command to find your symlink. This gives you the path to use with the--bin-dir
parameter.$
which aws
/usr/local/bin
/aws -
Use the
ls
command to find the directory that your symlink points to. This gives you the path to use with the--install-dir
parameter.$
ls -l /usr/local/bin/aws
lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws ->
/usr/local/aws-cli
/v2/current/bin/aws
-
-
Confirm the installation with the following command.
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/2.4.5
If the
aws
command cannot be found, you might need to restart your terminal or follow the troubleshooting in Troubleshooting errors for the AWS CLI.
-
- Command line - Linux ARM
-
To update your current installation of AWS CLI, download a new installer each time you update to overwrite previous versions. Follow these steps from the command line to install the AWS CLI on Linux.
The following are quick installation steps in a single copy and paste group that provide a basic installation. For guided instructions, see the steps that follow.
Note
(Optional) The following command block downloads and installs the AWS CLI without first verifying the integrity of your download. To verify the integrity of your download, use the below step by step instructions.
To install the AWS CLI, run the following commands.
$
curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
To update your current installation of the AWS CLI, add your existing symlink and installer information to construct the
install
command using the--bin-dir
,--install-dir
, and--update
parameters. The following command block uses an example symlink of/usr/local/bin
and example installer location of/usr/local/aws-cli
.$
curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install --bin-dir
/usr/local/bin
--install-dir/usr/local/aws-cli
--updateGuided installation steps
-
Download the installation file in one of the following ways:
-
Use the
curl
command – The-o
option specifies the file name that the downloaded package is written to. The options on the following example command write the downloaded file to the current directory with the local nameawscliv2.zip
.$
curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
-
Downloading from the URL – To download the installer with your browser, use the following URL: https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip
-
-
(Optional) Verifying the integrity of your downloaded zip file
If you chose to manually download the AWS CLI installer package
.zip
in the above steps, you can use the following steps to verify the signatures by using theGnuPG
tool.The AWS CLI installer package
.zip
files are cryptographically signed using PGP signatures. If there is any damage or alteration of the files, this verification fails and you should not proceed with installation.-
Download and install the
gpg
command using your package manager. For more information aboutGnuPG
, see the GnuPG website. -
To create the public key file, create a text file and paste in the following text.
-----BEGIN PGP PUBLIC KEY BLOCK----- mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG 94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC ZqFYbwUJCv/cOgAKCRCmMQrMRnJHXKYuEAC+wtZ611qQtOl0t5spM9SWZuszbcyA 0xBAJq2pncnp6wdCOkuAPu4/R3UCIoD2C49MkLj9Y0Yvue8CCF6OIJ8L+fKBv2DI yWZGmHL0p9wa/X8NCKQrKxK1gq5PuCzi3f3SqwfbZuZGeK/ubnmtttWXpUtuU/Iz VR0u/0sAy3j4uTGKh2cX7XnZbSqgJhUk9H324mIJiSwzvw1Ker6xtH/LwdBeJCck bVBdh3LZis4zuD4IZeBO1vRvjot3Oq4xadUv5RSPATg7T1kivrtLCnwvqc6L4LnF 0OkNysk94L3LQSHyQW2kQS1cVwr+yGUSiSp+VvMbAobAapmMJWP6e/dKyAUGIX6+ 2waLdbBs2U7MXznx/2ayCLPH7qCY9cenbdj5JhG9ibVvFWqqhSo22B/URQE/CMrG +3xXwtHEBoMyWEATr1tWwn2yyQGbkUGANneSDFiTFeoQvKNyyCFTFO1F2XKCcuDs 19nj34PE2TJilTG2QRlMr4D0NgwLLAMg2Los1CK6nXWnImYHKuaKS9LVaCoC8vu7 IRBik1NX6SjrQnftk0M9dY+s0ZbAN1gbdjZ8H3qlbl/4TxMdr87m8LP4FZIIo261 Eycv34pVkCePZiP+dgamEiQJ7IL4ZArio9mv6HbDGV6mLY45+l6/0EzCwkI5IyIf BfWC9s/USgxchg== =ptgS -----END PGP PUBLIC KEY BLOCK-----
For reference, the following are the details of the public key.
Key ID: A6310ACC4672475C Type: RSA Size: 4096/4096 Created: 2019-09-18 Expires: 2025-07-24 User ID: AWS CLI Team <aws-cli@amazon.com> Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
-
Import the AWS CLI public key with the following command, substituting
public-key-file-name
with the file name of the public key you created.$
gpg --import
public-key-file-name
gpg: /home/
username
/.gnupg/trustdb.gpg: trustdb created gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported gpg: Total number processed: 1 gpg: imported: 1 -
Download the AWS CLI signature file for the package you downloaded. It has the same path and name as the
.zip
file it corresponds to, but has the extension.sig
. In the following examples, we save it to the current directory as a file namedawscliv2.sig
.For the latest version of the AWS CLI, use the following command block:
$
curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip.sig
For a specific version of the AWS CLI, append a hyphen and the version number to the filename. For this example the filename for version
2.0.30
would beawscli-exe-linux-aarch64-2.0.30.zip.sig
resulting in the following command:$
curl -o awscliv2.sig https://awscli.amazonaws.com/
awscli-exe-linux-aarch64-2.0.30.zip.sig
For a list of versions, see the AWS CLI version 2 Changelog
on GitHub. -
Verify the signature, passing both the downloaded
.sig
and.zip
file names as parameters to thegpg
command.$
gpg --verify awscliv2.sig awscliv2.zip
The output should look similar to the following.
gpg: Signature made Mon Nov 4 19:00:01 2019 PST gpg: using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C gpg: Good signature from "AWS CLI Team <aws-cli@amazon.com>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
Important
The warning in the output is expected and doesn't indicate a problem. It occurs because there isn't a chain of trust between your personal PGP key (if you have one) and the AWS CLI PGP key. For more information, see Web of trust
.
-
-
Unzip the installer. If your Linux distribution doesn't have a built-in
unzip
command, use an equivalent to unzip it. The following example command unzips the package and creates a directory namedaws
under the current directory.$
unzip awscliv2.zip
Note
When updating from a previous version, the
unzip
command prompts to overwrite existing files. To skip these prompts, such as with script automation, use the-u
update flag forunzip
. This flag automatically updates existing files and creates new ones as needed.$
unzip -u awscliv2.zip
-
Run the install program. The installation command uses a file named
install
in the newly unzippedaws
directory. By default, the files are all installed to/usr/local/aws-cli
, and a symbolic link is created in/usr/local/bin
. The command includessudo
to grant write permissions to those directories.$
sudo ./aws/install
You can install without
sudo
if you specify directories that you already have write permissions to. Use the following instructions for theinstall
command to specify the installation location:-
Ensure that the paths you provide to the
-i
and-b
parameters contain no volume name or directory names that contain any space characters or other white space characters. If there is a space, the installation fails. -
--install-dir
or-i
– This option specifies the directory to copy all of the files to.The default value is
/usr/local/aws-cli
. -
--bin-dir
or-b
– This option specifies that the mainaws
program in the install directory is symbolically linked to the fileaws
in the specified path. You must have write permissions to the specified directory. Creating a symlink to a directory that is already in your path eliminates the need to add the install directory to the user's$PATH
variable.The default value is
/usr/local/bin
.
$
./aws/install -i
/usr/local/aws-cli
-b/usr/local/bin
Note
To update your current installation of the AWS CLI, add your existing symlink and installer information to construct the
install
command with the--update
parameter.$
sudo ./aws/install --bin-dir
/usr/local/bin
--install-dir/usr/local/aws-cli
--updateTo locate the existing symlink and installation directory, use the following steps:
-
Use the
which
command to find your symlink. This gives you the path to use with the--bin-dir
parameter.$
which aws
/usr/local/bin
/aws -
Use the
ls
command to find the directory that your symlink points to. This gives you the path to use with the--install-dir
parameter.$
ls -l /usr/local/bin/aws
lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws ->
/usr/local/aws-cli
/v2/current/bin/aws
-
-
Confirm the installation with the following command.
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/2.4.5
If the
aws
command cannot be found, you might need to restart your terminal or follow the troubleshooting in Troubleshooting errors for the AWS CLI.
-
- Snap package
-
We provide an official AWS supported version of the AWS CLI on
snap
. If you want to always have the latest version of the AWS CLI installed on your system, a snap package provides this for you as it auto-updates. There is no built-in support for selecting minor versions of AWS CLI and therefore it is not an optimal install method if your team needs to pin versions. If you want to install a specific minor version of the AWS CLI, we suggest you use the command line installer.-
If your Linux platform does not already have
snap
installed, installsnap
on your platform.-
For information on installing
snap
, see Installing the daemonin the Snap documentation. -
You may need to restart your system so that your
PATH
variables are updated correctly. If you are having installation issues, follow steps in Fix common issuesin the Snap documentation. -
To verify that
snap
is installed correctly, run the following command.$
snap version
-
-
Run the following
snap install
command for the AWS CLI.$
snap install aws-cli --classic
Depending on your permissions, you may need to add
sudo
to the command.$
sudo snap install aws-cli --classic
Note
To view the snap repository for the AWS CLI, including additional
snap
instructions, see theaws-cli
page in the Canonical Snapcraft website. -
Verify that the AWS CLI installed correctly.
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/2.4.5
If you get an error, see Troubleshooting errors for the AWS CLI.
-
Install and update requirements
-
We support the AWS CLI on macOS versions 10.15 and later. For more information, see macOS support policy updates for the AWS CLI v2
on the AWS Developer Tools Blog. -
Because AWS doesn't maintain third-party repositories, we can’t guarantee that they contain the latest version of the AWS CLI.
Install or update the AWS CLI
If you are updating to the latest version, use the same installation method that you used in your current version. You can install the AWS CLI on macOS in the following ways.
- GUI installer
-
The following steps show how to install the latest version of the AWS CLI by using the standard macOS user interface and your browser.
-
In your browser, download the macOS
pkg
file: https://awscli.amazonaws.com/AWSCLIV2.pkg -
Run your downloaded file and follow the on-screen instructions. You can choose to install the AWS CLI in the following ways:
-
For all users on the computer (requires
sudo
)-
You can install to any folder, or choose the recommended default folder of
/usr/local/aws-cli
. -
The installer automatically creates a symlink at
/usr/local/bin/aws
that links to the main program in the installation folder you chose.
-
-
For only the current user (doesn't require
sudo
)-
You can install to any folder to which you have write permission.
-
Due to standard user permissions, after the installer finishes, you must manually create a symlink file in your
$PATH
that points to theaws
andaws_completer
programs by using the following commands at the command prompt. If your$PATH
includes a folder you can write to, you can run the following command withoutsudo
if you specify that folder as the target's path. If you don't have a writable folder in your$PATH
, you must usesudo
in the commands to get permissions to write to the specified target folder. The default location for a symlink is/usr/local/bin/
.$
sudo ln -s /folder/installed
/aws-cli/aws /usr/local/bin
/aws$
sudo ln -s /folder/installed
/aws-cli/aws_completer /usr/local/bin
/aws_completer
-
Note
You can view debug logs for the installation by pressing Cmd+L anywhere in the installer. This opens a log pane that enables you to filter and save the log. The log file is also automatically saved to
/var/log/install.log
. -
-
To verify that the shell can find and run the
aws
command in your$PATH
, use the following commands.$
which aws
/usr/local/bin/aws
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Darwin/23.3.0 botocore/2.4.5
If the
aws
command cannot be found, you might need to restart your terminal or follow the troubleshooting in Troubleshooting errors for the AWS CLI.
-
- Command line installer - All users
-
If you have
sudo
permissions, you can install the AWS CLI for all users on the computer. We provide the steps in one easy to copy and paste group. See the descriptions of each line in the following steps.$
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$
sudo installer -pkg AWSCLIV2.pkg -target /
Guided installation instructions
-
Download the file using the
curl
command. The-o
option specifies the file name that the downloaded package is written to. In this example, the file is written toAWSCLIV2.pkg
in the current folder.$
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
-
Run the standard macOS
installer
program, specifying the downloaded.pkg
file as the source. Use the-pkg
parameter to specify the name of the package to install, and the-target /
parameter for which drive to install the package to. The files are installed to/usr/local/aws-cli
, and a symlink is automatically created in/usr/local/bin
. You must includesudo
on the command to grant write permissions to those folders.$
sudo installer -pkg ./AWSCLIV2.pkg -target /
After installation is complete, debug logs are written to
/var/log/install.log
. -
To verify that the shell can find and run the
aws
command in your$PATH
, use the following commands.$
which aws
/usr/local/bin/aws
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Darwin/23.3.0 botocore/2.4.5
If the
aws
command cannot be found, you might need to restart your terminal or follow the troubleshooting in Troubleshooting errors for the AWS CLI.
-
- Command line - Current user
-
-
To specify which folder the AWS CLI is installed to, you must create an XML file with any file name. This file is an XML-formatted file that looks like the following example. Leave all values as shown, except you must replace the path
/Users/myusername
in line 9 with the path to the folder you want the AWS CLI installed to. The folder must already exist, or the command fails. The following XML example, namedchoices.xml
, specifies the installer to install the AWS CLI in the folder/Users/myusername
, where it creates a folder namedaws-cli
.<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>choiceAttribute</key> <string>customLocation</string> <key>attributeSetting</key> <string>
/Users/myusername
</string> <key>choiceIdentifier</key> <string>default</string> </dict> </array> </plist> -
Download the
pkg
installer using thecurl
command. The-o
option specifies the file name that the downloaded package is written to. In this example, the file is written toAWSCLIV2.pkg
in the current folder.$
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
-
Run the standard macOS
installer
program with the following options:-
Specify the name of the package to install by using the
-pkg
parameter. -
Specify installing to a current user only by setting the
-target
parameter toCurrentUserHomeDirectory
. -
Specify the path (relative to the current folder) and name of the XML file that you created in the
-applyChoiceChangesXML
parameter.
The following example installs the AWS CLI in the folder
/Users/myusername/aws-cli
.$
installer -pkg AWSCLIV2.pkg \ -target CurrentUserHomeDirectory \ -applyChoiceChangesXML
choices.xml
-
-
Because standard user permissions typically don't allow writing to folders in your
$PATH
, the installer in this mode doesn't try to add the symlinks to theaws
andaws_completer
programs. For the AWS CLI to run correctly, you must manually create the symlinks after the installer finishes. If your$PATH
includes a folder you can write to and you specify the folder as the target's path, you can run the following command withoutsudo
. If you don't have a writable folder in your$PATH
, you must usesudo
for permissions to write to the specified target folder. The default location for a symlink is/usr/local/bin/
. Replacefolder/installed
with the path to your AWS CLI installation.$
sudo ln -s /folder/installed
/aws-cli/aws /usr/local/bin
/aws$
sudo ln -s /folder/installed
/aws-cli/aws_completer /usr/local/bin
/aws_completerAfter installation is complete, debug logs are written to
/var/log/install.log
. -
To verify that the shell can find and run the
aws
command in your$PATH
, use the following commands.$
which aws
/usr/local/bin/aws
$
aws --version
aws-cli/2.17.20 Python/3.11.6 Darwin/23.3.0 botocore/2.4.5
If the
aws
command cannot be found, you might need to restart your terminal or follow the troubleshooting in Troubleshooting errors for the AWS CLI.
-
Install and update requirements
-
We support the AWS CLI on Microsoft-supported versions of 64-bit Windows.
-
Admin rights to install software
Install or update the AWS CLI
To update your current installation of AWS CLI on Windows, download a new
installer each time you update to overwrite previous versions. AWS CLI is
updated regularly. To see when the latest version was released, see the
AWS CLI version 2 Changelog
-
Download and run the AWS CLI MSI installer for Windows (64-bit):
https://awscli.amazonaws.com/AWSCLIV2.msi
Alternatively, you can run the
msiexec
command to run the MSI installer.C:\>
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
For various parameters that can be used with
msiexec
, see msiexecon the Microsoft Docs website. For example, you can use the /qn
flag for a silent installation.C:\>
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
/qn
-
To confirm the installation, open the Start menu, search for
cmd
to open a command prompt window, and at the command prompt use theaws --version
command.C:\>
aws --version
aws-cli/2.17.20 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
If Windows is unable to find the program, you might need to close and reopen the command prompt window to refresh the path, or follow the troubleshooting in Troubleshooting errors for the AWS CLI.
Troubleshooting AWS CLI install and uninstall errors
If you come across issues after installing or uninstalling the AWS CLI, see Troubleshooting errors for the AWS CLI for troubleshooting steps. For the most relevant troubleshooting steps, see Command not found errors, The "aws --version" command returns a different version than you installed, and The "aws --version" command returns a version after uninstalling the AWS CLI.
Next steps
After you successfully install the AWS CLI, you can safely delete your downloaded installer files. After completing the steps in Prerequisites to use the AWS CLI version 2 and installing the AWS CLI, you should perform a Setting up the AWS CLI.