taws 1.0.0

Terminal UI for AWS - navigate, observe, and manage AWS resources
taws-1.0.0 is not a library.

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.


License Rust


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)

brew install huseyinbabal/tap/taws

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
curl -sL https://github.com/huseyinbabal/taws/releases/latest/download/taws-aarch64-apple-darwin.tar.gz | tar xz
sudo mv taws /usr/local/bin/

# macOS Intel
curl -sL https://github.com/huseyinbabal/taws/releases/latest/download/taws-x86_64-apple-darwin.tar.gz | tar xz
sudo mv taws /usr/local/bin/

# Linux x86_64
curl -sL https://github.com/huseyinbabal/taws/releases/latest/download/taws-x86_64-unknown-linux-gnu.tar.gz | tar xz
sudo mv taws /usr/local/bin/

# Linux ARM64
curl -sL https://github.com/huseyinbabal/taws/releases/latest/download/taws-aarch64-unknown-linux-gnu.tar.gz | tar xz
sudo mv taws /usr/local/bin/

Windows

  1. Download taws-x86_64-pc-windows-msvc.zip from the Releases page
  2. Extract the zip file
  3. Add the extracted folder to your PATH, or move taws.exe to a directory in your PATH

Using Cargo

cargo install taws

From Source

taws is built with Rust. Make sure you have Rust 1.70+ installed.

# Clone the repository
git clone https://github.com/huseyinbabal/taws.git
cd taws

# Build and run
cargo build --release
./target/release/taws

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* and List* permissions.


Quick Start

# Launch taws with default profile
taws

# Launch with a specific profile
taws --profile production

# Launch in a specific region
taws --region us-west-2

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.