Project 10. Cloud developer tools

switch-profile, open-source AWS account switching with SSO

My open-source CLI for working across many AWS accounts: one keystroke to switch, IAM Identity Center done properly, device-code logins on headless boxes, and a contract AI agents can follow.

What it changed

  • Switching between client AWS accounts in one keystroke, many times a day.
  • Every account and role in an SSO portal imported in one command, and kept in sync.
  • Safe for agents: JSON output, no prompts without a terminal, and an exit code that means "a human must log in".

The situation

A consultant lives in many AWS accounts at once: each client, each environment, each role. The AWS CLI can do all of it, but switching is slow, setting up SSO for dozens of accounts is tedious, and it's far too easy to run a command against production when you meant staging.

What I built

An open-source CLI, published on npm. Type sp for a searchable list of every account, most used first, or sp acme prod to jump straight there. Every switch confirms the real identity, production is flagged in red, and one command imports a whole Identity Center portal. On an SSH box with no browser it switches to a device code by itself and puts the code on my laptop's clipboard. It builds on the official AWS CLI and stores no credentials of its own.

The full verdict, with how it compares to aws-vault, Granted and the others, is in The Stack.

Why it matters to you

Security in the cloud is mostly about small habits done every day: short-lived credentials instead of keys, knowing which account you're in, never touching production by accident. I built a tool so those habits cost nothing, and it's the same thinking I bring to a client's AWS foundation.

Got a project like these?

Tell us where the business needs to go. You'll talk to the engineer who will design and build it, not a salesperson, and get an honest answer on whether we're the right fit.

Contact Us

For general inquiries, please contact us at:

For e-learning capabilities, please contact: