Fast, ergonomic AWS profile management for the terminal.
- Fuzzy search - quickly filter through profiles
- Multi-file support - works with
credentials_*andconfig_*files - Credential validation - validates with
aws sts get-caller-identityon switch - Shell integration - seamless bash/zsh/fish support
- Project prefixes - profiles from
config_workappear aswork/profile-name
- macOS (Linux support coming soon)
- Rust toolchain (for building)
- AWS CLI (for credential validation)
brew tap quantacodes/tap
brew install awsw# Clone the repository
git clone https://github.com/quantacodes/awsw.git
cd awsw
# Build release binary
cargo build --release
# Copy to PATH
sudo cp target/release/awsw /usr/local/bin/Add to your shell config file:
Zsh (~/.zshrc):
eval "$(awsw init zsh)"Bash (~/.bashrc):
eval "$(awsw init bash)"Fish (~/.config/fish/config.fish):
awsw init fish | sourceThen reload your shell:
source ~/.zshrc # or ~/.bashrcawsw # Interactive profile selector with fuzzy search
awsw list # List all profiles
awsw use <profile> # Switch to profile (validates credentials)
awsw use <profile> --skip-validate # Switch without validation
awsw current # Show currently active profile
awsw unset # Clear profile, return to default
awsw init <shell> # Output shell integration functionawsw scans ~/.aws/ for all credential and config files:
~/.aws/
├── credentials # profiles: default, dev
├── credentials_work # profiles: work/staging, work/prod
├── config
├── config_work
Profiles from config_work or credentials_work are prefixed with work/.
$ awsw
? Select AWS profile
default
work/dev (us-west-2)
> work/prod (eu-west-1)
personal/sandbox (ap-south-1)
Validating credentials...
Switched to work/prod (Account: 123456789012) ARN: arn:aws:iam::123456789012:user/admin
- Linux support
- Homebrew formula
- Pre-built binaries for releases
MIT