Interactive terminal menu for switching AWS SSO profiles — arrow keys, smart sort, instant login.
Move with ↑ ↓ or jump half a page with PgUp PgDn. The viewport scrolls automatically as your profile list grows.
Press S to cycle: file order → A→Z → Z→A. Natural number sort keeps Admin-2 before Admin-10. Your position is preserved across sorts.
Press Enter to set AWS_PROFILE in the current shell and immediately trigger aws sso login for the chosen profile.
Fails fast with a clear error message if aws is not on PATH or ~/.aws/config does not exist — before anything else runs.
A single script file. No packages, no installer. Dot-source the .ps1 or source the .sh and you're done.
Every release is signed via Sigstore keyless attestation. Verify that what you downloaded is exactly what was built from source — with one command.
# Extract to a permanent location $dir = "$env:LOCALAPPDATA\Scripts" New-Item -ItemType Directory -Path $dir -Force Expand-Archive Switch-AwsProfile-vX.Y.Z.zip -DestinationPath $dir # Add to your PowerShell profile and reload Add-Content -Path $PROFILE -Value ". `"$dir\Switch-AwsProfile.ps1`"" . $PROFILE
Loads Switch-AwsProfile and the sap alias in every new shell session.
Requires PowerShell 7+
and AWS CLI.
| Key | Action |
|---|---|
| ↑ ↓ | Move selection |
| PgUp PgDn | Jump half a page |
| S | Cycle sort mode |
| Enter | Select profile and login |
| Esc | Cancel without changes |
Every release artifact is signed with Sigstore keyless attestation via GitHub Actions — no keys to manage or rotate. The attestation cryptographically binds each file to the exact commit, workflow run, and repository that produced it.
gh attestation verify Switch-AwsProfile-vX.Y.Z.zip --repo michaelsanford/Switch-AwsProfile
❯ gh attestation verify Switch-AwsProfile-vX.Y.Z.zip --repo michaelsanford/Switch-AwsProfile Loaded digest sha256:2b67d674259090f7ee67ecb203a4284ab859bc7da30b3c678138a32755cf3548 for file://Switch-AwsProfile-vX.Y.Z.zip Loaded 1 attestation from GitHub API The following policy criteria will be enforced: - Predicate type must match:................ https://slsa.dev/provenance/v1 - Source Repository Owner URI must match:... https://github.com/michaelsanford - Source Repository URI must match:......... https://github.com/michaelsanford/Switch-AwsProfile - Subject Alternative Name must match regex: (?i)^https://github\.com/michaelsanford/Switch-AwsProfile/ - OIDC Issuer must match:................... https://token.actions.githubusercontent.com ✓ Verification succeeded! The following 1 attestation matched the policy criteria - Attestation #1 - Build repo:..... michaelsanford/Switch-AwsProfile - Build workflow:. .github/workflows/release.yml@refs/tags/vX.Y.Z - Signer repo:.... michaelsanford/Switch-AwsProfile - Signer workflow: .github/workflows/release.yml@refs/tags/vX.Y.Z
A passing result confirms the file was built from this repository's source and has not been modified since.