That’s when I realized most people treat the AWS Command Line Interface as a utility, but never tune it to work perfectly inside Zsh. The truth is, the AWS CLI on Zsh can be faster, cleaner, and more powerful—with the right configuration.
Why AWS CLI and Zsh Belong Together
The AWS CLI gives you direct control over your AWS account from your terminal. Zsh gives you modern shell features out-of-the-box: advanced tab-completion, better history, and powerful syntax. Together, they can turn repetitive AWS tasks into short, memorable commands.
Installing AWS CLI for Zsh
If you don’t have AWS CLI yet, install it through your package manager:
brew install awscli # macOS
sudo apt install awscli # Ubuntu/Debian
Check it:
aws --version
You’ll get something like:
aws-cli/2.x.x Python/3.x.x ...
Enabling Autocomplete in Zsh
Autocomplete is the secret weapon. In Zsh, it works better than in Bash if you set it up right. Run:
autoload bashcompinit && bashcompinit
complete -C '/usr/local/bin/aws_completer' aws
You may need to adjust the path to aws_completer. Add these lines to your .zshrc so it loads every time. Now, typing aws s3<tab> will instantly suggest every S3 subcommand.