Skip to main content

Login

The CLI supports three authentication methods:

Browser OAuth (Default)

This opens your browser for a secure OAuth PKCE flow. After authorizing, the token is saved to ~/.instapods/config.json. On a headless machine - a server, a container, an SSH session with no browser - add --no-browser and the CLI prints the URL for you to open elsewhere:

API Token

Best for CI, cron and anything unattended. See API tokens below.

Email/Password

You’ll be prompted for your password. The session token is saved locally.

Check Current User

Displays your email, user ID, and current team.

Logout

Removes the saved token from your local configuration.

API tokens

An API token is a long-lived credential for automation. Unlike a browser login it doesn’t expire when your session does, and you can revoke it on its own without signing out everywhere. Create one in the dashboard under Settings → API Tokens. Give it a name and, optionally, an expiry in days (leave it blank and the token never expires).
The token value is shown once, at creation. It starts with ipk_. Copy it then - InstaPods only stores a hash, so it cannot be shown again. Lost it? Delete the token and create another.
A token is bound to the team that was active when you created it. Whichever team you later select in the web UI, the token always acts on the team it was created for - so automation behaves the same way every time.

Using a token

Either log in with it once:
Or pass it through the environment, which is what you usually want in CI:
INSTAPOD_TOKEN takes precedence over the token saved in ~/.instapods/config.json, so it overrides whatever the machine is logged in as without touching the config file. The same token authenticates the REST API directly:

Managing tokens

The dashboard’s Settings → API Tokens page lists your tokens by name and prefix, shows when each was last used, and lets you delete any of them. Deleting a token takes effect immediately.
API tokens can only be created from a dashboard session. The Claude connector and other MCP clients are refused, so a compromised connector session can’t mint a credential that outlives it.

Where the CLI stores credentials

Whichever method you use, instapods login writes the token to ~/.instapods/config.json. instapods logout removes it. Set INSTAPOD_TOKEN in the environment to override that file for a single command or an entire CI job.

Social Login

You can also sign up or log in via GitHub or Google on the web at app.instapods.com. After logging in via social auth, use instapods login (browser OAuth) to authenticate the CLI with the same account.