You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-32Lines changed: 26 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,16 +2,21 @@
2
2
3
3
A modern AWS SSO session manager with an interactive TUI, powerful CLI, and a reusable SDK.
4
4
5
-

6
-
<!-- PLACEHOLDER: A wide banner image showing the awsesh TUI in a terminal. Show the main account selection screen with a few accounts listed, fuzzy search active, and the bottom action bar visible. Dark terminal theme preferred. Dimensions: ~1200x600px -->
5
+
<videoautoplayloopmutedplaysinlinewidth="100%">
6
+
<sourcesrc="assets/hero.mp4"type="video/mp4">
7
+
</video>
8
+
9
+

7
10
8
11
## Features
9
12
10
13
- Interactive terminal UI for managing AWS SSO sessions
14
+
- Interactive CLI if that's more your jam
11
15
- Fast fuzzy search across accounts and roles
12
16
- Multiple SSO profile support
13
17
- Automatic credential management
14
-
- Browser integration for AWS Console access
18
+
- Remappable keybindings
19
+
- Browser integration for quick AWS Console access
15
20
- Shell integration with environment variable exports
16
21
- Reusable SDK for building your own tools
17
22
- XDG Base Directory compliant
@@ -25,13 +30,6 @@ brew tap elva-labs/elva
25
30
brew install awsesh
26
31
```
27
32
28
-
**Beta version:**
29
-
30
-
```sh
31
-
brew tap elva-labs/elva
32
-
brew install awsesh-beta
33
-
```
34
-
35
33
### Pre-built Binaries
36
34
37
35
Download the latest release from the [Releases page](https://github.com/elva-labs/awsesh/releases/latest).
@@ -69,8 +67,7 @@ Launch the interactive terminal interface:
69
67
awsesh
70
68
```
71
69
72
-

73
-
<!-- PLACEHOLDER: A GIF recording showing the full TUI flow: launching awsesh, selecting an SSO profile, searching for an account with fuzzy search, selecting a role, and seeing the "credentials set" confirmation. ~15-20 seconds. -->
<!-- PLACEHOLDER: Screenshot showing the SSO profile list with the action bar at the bottom showing available actions (n=new, e=edit, d=delete, o=open in browser). Show 2-3 example profiles. -->
<!-- PLACEHOLDER: Screenshot of the account list with fuzzy search active. Show the search input at top with a partial search term, filtered results below, and the match highlighting. Include the role count badge next to account names. -->
102
97
103
98
| Key | Action |
104
99
|-----|--------|
@@ -112,7 +107,6 @@ awsesh
112
107
View and manage your active credential sessions:
113
108
114
109

115
-
<!-- PLACEHOLDER: Screenshot of the active sessions page showing 2-3 active credentials with their profile names, account names, roles, and expiration times. Include the default session indicator. -->
116
110
117
111
---
118
112
@@ -123,11 +117,11 @@ Use awsesh directly from the command line for scripting and automation.
123
117
### Quick Usage
124
118
125
119
```sh
126
-
# Set credentials for a specific role
127
-
awsesh <sso-profile><account-name><role-name>
120
+
# Set credentials
121
+
awsesh set
128
122
129
-
#Use last selected role for an account
130
-
awsesh <sso-profile><account-name>
123
+
#Set credentials for a specific role
124
+
awsesh set<sso-profile><account-name><role-name>
131
125
132
126
# Check current identity
133
127
awsesh whoami
@@ -144,7 +138,7 @@ awsesh accounts
144
138
| Command | Description |
145
139
|---------|-------------|
146
140
|`awsesh`| Launch interactive TUI |
147
-
|`awsesh <sso> <account> [role]`| Set credentials directly |
141
+
|`awsesh set <sso> <account> [role]`| Set credentials directly |
148
142
|`awsesh whoami`| Show current AWS identity |
149
143
|`awsesh sessions`| List active credential sessions |
150
144
|`awsesh accounts`| List cached AWS accounts |
@@ -175,7 +169,7 @@ Add this to your shell config for seamless environment variable integration:
175
169
176
170
**Bash/Zsh:**
177
171
```bash
178
-
sesh() {
172
+
sesh() {# i personally prefer "sesh" over "awsesh"
179
173
eval"$(command awsesh --eval "$@")"
180
174
}
181
175
```
@@ -187,16 +181,6 @@ function sesh
187
181
end
188
182
```
189
183
190
-
This exports AWS environment variables directly to your shell:
The core functionality is available as a standalone SDK for building your own AWS SSO tools.
@@ -246,7 +230,8 @@ For a complete working example, see the [awsesh-sdk-example](https://github.com/
246
230
247
231
## Migrating from Go Version
248
232
249
-
If upgrading from the original Go version of awsesh, run the migration command:
233
+
If upgrading from the original Go version of awsesh the mgiration should run automatically.
234
+
Otherwise you can run the migration command manually:
250
235
251
236
```sh
252
237
awsesh migrate
@@ -259,6 +244,8 @@ Options:
259
244
260
245
The migration converts your existing profiles, tokens, and preferences to the new JSON format.
261
246
247
+
Should the migration fail I suggest you to clean up your `~/.aws` folder and remove most any awsesh files and the aws files `.config` and `.credentials` since they can interfere as well.
248
+
262
249
---
263
250
264
251
## Configuration
@@ -284,6 +271,13 @@ Access settings via `Ctrl+P` > Settings in the TUI, or edit `~/.config/awsesh/co
284
271
285
272
---
286
273
274
+
## Acknowledgments
275
+
276
+
Huge thanks to the great team over at [Anomalyco](hhttps://github.com/anomalyco) both for OpenTui and the structure of OpenCode from a few months ago.
277
+
I shamelessly based the refactor on the structure of OpenCode at the time and it's been great for me.
0 commit comments