awsesh

TUI and CLI tool for managing AWS SSO sessions with fuzzy search, account switching, and shell integration.

install

awsesh is a terminal user interface (TUI) and command-line tool for managing AWS Single Sign-On (SSO) sessions and account switching. It provides an interactive interface with fuzzy search filtering to navigate between AWS accounts and roles, eliminating the need to manually manage AWS credentials and session tokens.

The tool integrates with shell environments through the --eval flag, setting AWS environment variables (AWS_PROFILE, AWS_REGION, AWS_ACCESS_KEY_ID, etc.) for compatibility with AWS CLI tools and shell prompt utilities like Starship. It supports custom profile names that are remembered per account-role combination, and can open AWS console sessions directly in a browser. The tool respects XDG Base Directory specification and handles AWS credentials file management automatically.

Awsesh is designed for developers and DevOps engineers who frequently switch between multiple AWS accounts and roles in SSO environments. It includes safeguards for large AWS setups (>100 accounts) by implementing lazy-loading of roles to avoid API rate limiting. The tool writes session credentials to the AWS credentials file and provides both interactive TUI mode and direct CLI commands for scripting and automation workflows.

Installation

# via Homebrew
brew tap elva-labs/elva && brew install awsesh
# via Installation Script
curl -sSL https://raw.githubusercontent.com/elva-labs/awsesh/main/install.sh | bash

Basic awsesh demo

Advanced awsesh features

Alternatives & related tools

add a badge to your README

Maintain awsesh? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/awsesh.svg)](https://www.trmn.sh/tools/awsesh?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/awsesh?utm_source=badge"><img src="https://www.trmn.sh/badge/awsesh.svg" alt="Featured on trmn" height="20"></a>