taws - Terminal UI for AWS
taws provides a terminal UI to interact with your AWS resources. The aim of this project is to make it easier to navigate, observe, and manage your AWS infrastructure in the wild. taws continually watches AWS for changes and offers subsequent commands to interact with your observed resources.
Screenshots
Features
- Multi-Profile Support - Easily switch between AWS profiles
- Multi-Region Support - Navigate across different AWS regions
- 94+ Resource Types - Browse and manage resources across 60+ AWS services
- Real-time Updates - Refresh resources with a single keystroke
- Keyboard-Driven - Vim-like navigation and commands
- Resource Actions - Start, stop, terminate EC2 instances directly
- Detailed Views - JSON/YAML view of resource details
- Filtering - Filter resources by name or attributes
- Autocomplete - Smart resource type autocomplete with fuzzy matching
Installation
Homebrew (macOS/Linux)
Download Pre-built Binaries
Download the latest release from the Releases page.
| Platform | Architecture | Download |
|---|---|---|
| macOS | Apple Silicon (M1/M2/M3) | taws-aarch64-apple-darwin.tar.gz |
| macOS | Intel | taws-x86_64-apple-darwin.tar.gz |
| Linux | x86_64 | taws-x86_64-unknown-linux-gnu.tar.gz |
| Linux | ARM64 | taws-aarch64-unknown-linux-gnu.tar.gz |
| Windows | x86_64 | taws-x86_64-pc-windows-msvc.zip |
Quick Install (macOS/Linux)
# macOS Apple Silicon
|
# macOS Intel
|
# Linux x86_64
|
# Linux ARM64
|
Windows
- Download
taws-x86_64-pc-windows-msvc.zipfrom the Releases page - Extract the zip file
- Add the extracted folder to your PATH, or move
taws.exeto a directory in your PATH
Using Cargo
From Source
taws is built with Rust. Make sure you have Rust 1.70+ installed.
# Clone the repository
# Build and run
Prerequisites
-
AWS Credentials - Configure your AWS credentials using one of:
aws configure(AWS CLI)- Environment variables (
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY) - IAM roles (when running on EC2/ECS/Lambda)
- AWS profiles in
~/.aws/credentials
-
IAM Permissions - Your AWS user/role needs appropriate read permissions for the services you want to browse. At minimum, you'll need
Describe*andList*permissions.
Quick Start
# Launch taws with default profile
# Launch with a specific profile
# Launch in a specific region
Key Bindings
| Action | Key | Description |
|---|---|---|
| Navigation | ||
| Move up | k / ↑ |
Move selection up |
| Move down | j / ↓ |
Move selection down |
| Page up | Ctrl-u |
Move up by page |
| Page down | Ctrl-d |
Move down by page |
| Top | g |
Jump to first item |
| Bottom | G |
Jump to last item |
| Views | ||
| Resource picker | : |
Open resource type selector |
| Describe | Enter / d |
View resource details |
| Back | Esc |
Go back to previous view |
| Help | ? |
Show help screen |
| Actions | ||
| Refresh | r |
Refresh current view |
| Filter | / |
Filter resources |
| Profiles | p |
Switch AWS profile |
| Regions | R |
Switch AWS region |
| Quit | q / Ctrl-c |
Exit taws |
| EC2 Actions | ||
| Start instance | s |
Start selected EC2 instance |
| Stop instance | S |
Stop selected EC2 instance |
| Terminate | T |
Terminate selected EC2 instance |
Resource Navigation
Press : to open the resource picker. Type to filter resources:
:ec2 # EC2 Instances
:lambda # Lambda Functions
:s3 # S3 Buckets
:rds # RDS Instances
:iam-users # IAM Users
:eks # EKS Clusters
Use Tab to autocomplete and Enter to select.
Supported AWS Services
taws supports 30 core AWS services covering 95%+ of typical AWS usage:
| Category | Services |
|---|---|
| Compute | EC2, Lambda, ECS, EKS, Auto Scaling |
| Storage | S3 |
| Database | RDS, DynamoDB, ElastiCache |
| Networking | VPC (Subnets, Security Groups), Route 53, CloudFront, API Gateway, ELB |
| Security | IAM, Secrets Manager, KMS, ACM, Cognito |
| Management | CloudFormation, CloudWatch Logs, CloudTrail, SSM, STS |
| Messaging | SQS, SNS, EventBridge |
| Containers | ECR |
| DevOps | CodePipeline, CodeBuild |
| Analytics | Athena |
Missing a service? Start a discussion to propose adding it!
Configuration
taws looks for AWS credentials in the standard locations:
~/.aws/credentials~/.aws/config- Environment variables
Environment Variables
| Variable | Description |
|---|---|
AWS_PROFILE |
Default AWS profile to use |
AWS_REGION |
Default AWS region |
AWS_ACCESS_KEY_ID |
AWS access key |
AWS_SECRET_ACCESS_KEY |
AWS secret key |
AWS_SESSION_TOKEN |
AWS session token (for temporary credentials) |
Known Issues
- Some resources may require specific IAM permissions not covered by basic read-only policies
- Resource counts may vary during loading due to pagination
- Some global services (IAM, Route53, CloudFront) always use us-east-1
Contributing
Contributions are welcome! Please see our Contributing Guide for details.
Important: Before adding a new AWS service, please start a discussion first.
Acknowledgments
- Inspired by k9s - the awesome Kubernetes CLI
- Built with Ratatui - Rust TUI library
- Uses aws-sigv4 for request signing
License
This project is licensed under the MIT License - see the LICENSE file for details.