Sleipnir help
GitHub

#Troubleshooting

#Start here: the logs

⚙ SETTINGS → DEVELOPER shows the application log live, with a filter for warnings and errors only. Entries that carry structured data expand to show the request and response shape, which is usually the fastest way to see what AWS actually said.

The same log is on disk at ~/Library/Logs/dev.purdonmoi.sleipnir/.

#Login problems

#Login fails immediately, or with a region error

The region field is the region your IAM Identity Center is hosted in, not the region your workloads run in. These are frequently different. Ask your administrator which region Identity Center lives in — us-east-1 is the most common answer.

#The browser opens but approval does nothing

Check that you approved in a browser session logged into the right AWS identity. If you are signed into a personal AWS account in that browser, the approval can succeed against the wrong identity. An incognito window is a quick way to test.

#Login keeps being required

If every launch demands a fresh login, the refresh token is not surviving in the Keychain. Open Keychain Access and look for an item named dev.purdonmoi.sleipnir. If macOS is denying access, deleting the item and logging in once more re-creates it cleanly.

You will get one Keychain prompt per org when Sleipnir first reads its secrets — that is expected. Choosing Always Allow stops it recurring.

#Discovery problems

#The scan finds no accounts

The scan can only see accounts your SSO assignment grants you. If it returns nothing, the session is valid but the assignment is empty — an administrator question, not an app one.

#A service I expected is missing

Same cause, usually. Confirm you can see the account in the AWS access portal in a browser; if it is not there either, it is not assigned to you.

#Accounts grouped into the wrong services

The grouping relies on your organization's naming convention. If your account names do not encode the environment consistently, uncheck the bad rows and import the rest — they will import as standalone services, which work fine, just without the environment switcher. See Discovery.

#Credential problems

#aws says the profile does not exist

Check the profile name matches the alias exactly:

grep -A1 '^\[' ~/.aws/credentials | head -40

If the stanza is absent, the service is not currently engaged. Engage it.

#Commands use the wrong identity even after engaging

Environment variables win over ~/.aws/credentials. This is the single most common cause. If any of these are set in your shell, they override everything Sleipnir writes:

env | grep -E 'AWS_(ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN|PROFILE)'

Unset them:

unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN

A shell that had them exported before you engaged keeps them until you unset them or open a new terminal.

#Credentials expired mid-task

Engaged profiles refresh in the background, but a machine that was asleep can wake with stale keys. Run the ⚡ connection test — it rotates stale keys before probing, so the test itself repairs the common case.

If the org's SSO session has expired, no background refresh can help. Log in again; the lamp in the rail tells you.

#A sandboxed app cannot see the credentials

It should — static keys in ~/.aws/credentials are exactly what sandboxed apps can read, and that is why Sleipnir delivers them that way. Confirm the app has been granted access to your home directory, and that it is reading ~/.aws/credentials rather than expecting environment variables.

#Another tool keeps overwriting the profile

If a profile name is owned by both Sleipnir and another tool, the last writer wins. Rename the Sleipnir alias so the two stop colliding — see Services.

#Connection test problems

#The test fails but the CLI works

Both use the same path, so this generally means they are not using the same CLI. The test shells out to whatever aws resolves to for the app, which may differ from your shell's if the CLI was installed into a shell-specific path.

#"command not found" style failures

The connection test needs the AWS CLI installed:

brew install awscli

Everything else in Sleipnir works without it.

#Install problems

#"sleipnir is damaged and can't be opened"

This affected early builds that were not notarized. Update to the current release, which is signed and notarized:

brew update && brew upgrade --cask sleipnir-aws

#SHA256 mismatch during install

A stale download in the Homebrew cache. Clear it and retry:

brew cleanup -s sleipnir-aws
brew update
brew install --cask mpurdon/tap/sleipnir-aws

#The cask cannot be found

Make sure you are using the fully qualified name — there is an unrelated sleipnir in Homebrew core (a web browser):

brew install --cask mpurdon/tap/sleipnir-aws

#Still stuck

Open an issue at github.com/mpurdon/sleipnir/issues with the relevant lines from SETTINGS → DEVELOPER.

Warning

Log entries can contain account IDs, role names and ARNs. Review what you paste. Access keys and tokens are not logged, but account structure is worth redacting if the repository is not yours.