Skip to main content
abadge login starts a device authorization flow, opens your browser to approve the request, and stores the resulting operator session in daemon memory — never on disk.

Usage

Flags

What it does

1

Request a device code

POST /api/auth/device/code returns device_code, user_code, and a verification URL.
2

Print and open the URL

The CLI prints the user code and tries to open the URL in your default browser. Use --no-open-browser to skip.
3

Poll for the token

POST /api/auth/device/token is polled until the user approves or denies the request.
4

Hold the bearer in daemon memory

The operator bearer token is stored in the daemon’s process memory. The config file never holds a human bearer token.
5

Audit auth.login

the login-audit operation appends an auth.login event (best-effort — this step is silent for new signups without org membership).
abadge login does not register any agents automatically. The CLI’s runtime agents (local_cli for abadge run/mount, local_mcp for the MCP server) are created separately with abadge agent add --kind local_cli / --kind local_mcp after you have an active organization.

After logging in

Before you can create items or use abadge run, set up an organization and a local runtime agent:

Scripting

For unattended flows, abadge login has two subcommands that split the device-code handshake: These are for integrations that need to render the verification URL in a custom UI. The default abadge login is what humans want.

Audit

  • auth.login — recorded by the login-audit operation