Documentation
Home Pricing

AWS Profile Manager Documentation

Complete guide to installing, configuring, and using AWS Profile Manager — your all-in-one dashboard for managing AWS CLI profiles, terminal, AI commands, and cost analysis.

Installation

System Requirements

RequirementVersion
Python3.10+
Node.js18+
AWS CLIv2 (recommended)
OSWindows 10/11, macOS, Linux

Install from Source

1

Clone the repository

git clone https://github.com/ynikolarakis/aws-profile-manager.git
cd aws-profile-manager
2

Run setup

This creates a Python virtual environment and installs all dependencies (backend + frontend).

make setup
3

Build for production

make build
4

Start the application

Opens the app at http://localhost:8099

make start
For development with hot reload, use make dev instead. This runs the FastAPI backend and Vite dev server concurrently.

Available Commands

CommandDescription
make devStart backend + frontend in development mode (hot reload)
make startProduction server — backend serves built frontend on port 8099
make buildInstall dependencies and build both backend + frontend
make setupCreate virtual environment + install all dependencies
make testRun all tests (pytest + vitest)
make lintLint backend (ruff) and frontend (eslint)
make cleanRemove cache, dist, node_modules, venv

Quick Start

After installation, open http://localhost:8099 in your browser. The app automatically reads your existing AWS profiles from ~/.aws/config and ~/.aws/credentials.

1

Your profiles appear in the sidebar

All existing AWS CLI profiles are loaded automatically. Click any profile to activate it.

2

Run your first command

Type aws sts get-caller-identity in the terminal at the bottom and press Enter.

3

Organize into categories

Click "Category" to create groups (Production, Staging, etc.) and drag profiles into them.

Interface Overview

The interface follows a terminal-first design: the command area takes center stage, while profile management lives in the sidebar.

Full application overview
Main interface — sidebar with profiles, terminal area, and header bar

Header Bar

Active profile name, search (Ctrl+K), favorites, theme toggle, settings, and New Profile button.

Sidebar

Profile search, category groups, profile list with type/region badges, Category and Bulk Run buttons.

Terminal Area

Identity bar showing account ID and ARN. Command output area. Terminal input with AI toggle.

Status Indicators

Green dot = active/authenticated. Orange dot = SSO session expired. Cost badges show 30-day spend.

Profile Types

AWS Profile Manager supports all three AWS CLI profile types:

SSO Profiles SSO

Use AWS IAM Identity Center (formerly AWS SSO) to authenticate. Session tokens are cached in ~/.aws/sso/cache/. The app automatically checks token validity and shows a status indicator.

FieldDescription
sso_start_urlYour SSO portal URL (e.g., https://myorg.awsapps.com/start)
sso_regionRegion of your SSO instance
sso_account_id12-digit AWS account ID
sso_role_nameIAM role to assume via SSO
regionDefault region for CLI commands

Credential Profiles CREDENTIALS

Long-term access keys stored in ~/.aws/credentials. Secret keys are masked in the UI after saving.

FieldDescription
aws_access_key_idYour access key ID
aws_secret_access_keyYour secret access key (masked after save)
aws_session_tokenOptional session token for temporary credentials
regionDefault region for CLI commands

Role Profiles ROLE

Assume a role from another profile. No credentials stored directly — uses the source profile to get temporary credentials.

FieldDescription
role_arnARN of the role to assume
source_profileName of the profile to assume from
external_idOptional external ID for cross-account roles
regionDefault region for CLI commands

Creating Profiles

Click + New Profile in the header or press Ctrl+N to open the creation dialog.

New Profile dialog
New Profile dialog — select type (SSO, Credentials, Role), fill in fields, assign category
  1. Enter a profile name (letters, numbers, hyphens, underscores, dots only)
  2. Optionally assign to a category
  3. Select the profile type (SSO, Credentials, or Role)
  4. Fill in the required fields for the selected type
  5. Choose your default region and output format
  6. Click Save
Profiles are auto-saved directly to your AWS CLI config files. A timestamped backup is created before every write.

Managing Profiles

Click any profile in the sidebar to activate it. The app runs an identity check (STS GetCallerIdentity) and displays the account ID and ARN in the terminal header.

Profile activated with identity
Active profile showing identity verification in the terminal header

Categories

Organize profiles into collapsible groups with custom colors. Click Category in the sidebar to create and manage categories.

Category creation dialog
New Category dialog — name and color picker with 12+ color options

The search field at the top of the sidebar filters profiles in real-time as you type. It matches against profile name, type, region, and account ID.

Profile search filtering
Searching for "Prod" — instantly filters to matching profiles across all categories

Import & Export

Share profile configurations across machines or team members using JSON export/import.

Import merges with existing profiles. Duplicate profile names will be skipped.

Running Commands

The terminal is the core of the application. Type any AWS CLI command and press Enter. The active profile's credentials are injected automatically.

Terminal running aws s3 ls
Running aws s3 ls — output streams in real-time with the active profile's credentials
STS identity check
Running aws sts get-caller-identity — verifies which account and role you're operating as

Bulk Run

Execute the same command across multiple profiles simultaneously. Click Bulk Run in the sidebar or use the command palette.

Bulk Run dialog
Bulk Run — select profiles, enter a command, use quick templates (Identity, S3 Buckets)

Terminal Encoding

If terminal output shows garbled characters, adjust the encoding in Settings → General → Terminal Output Encoding.

Terminal encoding settings
Settings → General — change terminal output encoding (UTF-8, CP437, CP850, etc.)

Common encoding options:

EncodingWhen to use
UTF-8macOS, Linux, or modern Windows terminal
CP437Windows Command Prompt (US)
CP850Windows Command Prompt (Western European)
CP1252Windows (Western European legacy apps)
CP1253Windows (Greek)

AI Integration Overview

AWS Profile Manager integrates with 6 LLM providers to generate AWS CLI commands from natural language descriptions. Toggle AI mode with the AI button in the terminal bar or press Ctrl+I.

AI mode enabled
AI mode enabled — the input changes to "Describe what you want to do..."

AWS Bedrock

Uses your AWS profile credentials. No separate API key needed.

Anthropic

Claude models. Requires an Anthropic API key.

OpenAI

GPT models. Requires an OpenAI API key.

Google AI

Gemini models. Requires a Google AI API key.

OpenRouter

Access multiple models through a single API key.

Ollama

Run models locally. No API key — just a base URL.

Configuring AI Providers

Open Settings (gear icon in header) → AI Providers tab. Select your default provider and configure API keys.

AI Provider settings
Settings → AI Providers — configure API keys, select models, test connectivity
  1. Choose a Default Provider from the dropdown
  2. Expand the provider you want to configure
  3. Enter your API key (stored locally, never transmitted)
  4. Select a model from the dropdown
  5. Click Test to verify the connection
  6. Click Save
API keys are stored in ~/.aws/profile-manager.json and are never transmitted to any server other than the LLM provider you selected. Keys are masked in the UI after saving.

Generating Commands with AI

With AI mode active, describe what you want in plain English. The AI generates the exact AWS CLI command, context-aware of your active profile and region.

AI-generated command
AI generates aws ec2 describe-instances from "show all EC2 instances running in eu-central-1" — with Run and Copy buttons

After the command is generated:

Example prompts:

Natural languageGenerated command
"list all S3 buckets"aws s3api list-buckets --output json
"show running EC2 instances"aws ec2 describe-instances --filters Name=instance-state-name,Values=running
"list all VPCs in Frankfurt"aws ec2 describe-vpcs --region eu-central-1 --output table
"who am I"aws sts get-caller-identity

Command Palette

Press Ctrl+K to open the command palette — a quick launcher for switching profiles, running actions, and accessing features.

Command palette
Command palette — search and switch profiles instantly, with type badges

Available actions in the command palette:

SSO Account Discovery

If you use AWS IAM Identity Center, the app can automatically discover all accounts and roles you have access to.

  1. Open the command palette (Ctrl+K) and select Discover SSO Accounts
  2. The app finds valid SSO tokens in ~/.aws/sso/cache/
  3. It calls the SSO API to list all accounts and their available roles
  4. Review the discovered accounts — duplicates are flagged
  5. Select the accounts you want and click Import
You must have a valid SSO session first. Run aws sso login --profile <any-sso-profile> in a terminal before discovery.

Cost Explorer

View per-profile AWS spending with a monthly service breakdown. Cost badges appear next to each profile in the sidebar showing the last 30 days of spending.

Cost Explorer requires the ce:GetCostAndUsage IAM permission. The API always runs against us-east-1 regardless of the profile's default region.

Favorites

Save frequently used commands as favorites for one-click access from the header bar.

Themes

Toggle between dark and light mode using the theme button in the header or via the command palette.

Light mode
Light mode — full application with white background

Keyboard Shortcuts

ShortcutAction
Ctrl+KOpen Command Palette
Ctrl+NCreate New Profile
Ctrl+IToggle AI Mode
Ctrl+/Focus Terminal Input
EscapeClose active dialog or sheet
Arrow UpPrevious command in terminal history
Arrow DownNext command in terminal history
EnterExecute command in terminal

Configuration Files

AWS Profile Manager reads and writes the standard AWS CLI configuration files plus its own state file:

FilePurpose
~/.aws/configProfile definitions (INI format). Sections use [profile name] prefix (except [default]).
~/.aws/credentialsAccess keys for credential-type profiles. Sections use [name] (no "profile" prefix).
~/.aws/profile-manager.jsonApp state: categories, favorites, theme, collapsed state, LLM config, terminal encoding.
~/.aws/sso/cache/SSO session token cache (managed by AWS CLI).
A timestamped backup is created before every write to config/credentials files. Backups are stored alongside the original files (e.g., ~/.aws/config.backup.20260215_143022).

profile-manager.json Structure

{
  "categories": {
    "cat_id": { "name": "Production", "color": "#22c55e", "order": 0 }
  },
  "profile_cat": {
    "Prod_Monitoring": "cat_id"
  },
  "favorites": [
    { "label": "Check STS", "cmd": "aws sts get-caller-identity" }
  ],
  "theme": "dark",
  "collapsed": { "cat_id": false },
  "terminal_encoding": "cp437",
  "llm_config": {
    "default_provider": "openai",
    "providers": {
      "openai": { "api_key": "sk-...", "model": "gpt-4o" }
    }
  }
}

Troubleshooting

App won't start

SSO profiles show "expired"

Terminal output shows garbled characters

AI commands not generating

Cost badges not appearing

Commands fail with "aws not found"

AWS Profile Manager © 2025
Back to Home