aether login
aether loginWithout flags, the command opens your browser, where you sign in and authorize this machine. Your password, your passkey, your authenticator code: all of it stays in the browser, and the terminal never sees any of it. Once you approve, the CLI gets its own credential and writes it to ~/.aether/credentials.json. On POSIX systems that file is created readable only by you; Windows and some network filesystems have no equivalent mode to set. Sessions last 60 days.
$ aether loginOpening Aether in your browser...If nothing opens, visit:https://dashboard.aetherpush.com/cli/authorize?request=...Waiting for authorization...Credentials written to /Users/you/.aether/credentials.json. Run aether logout to terminate the session.Signed in as user@example.com.This device is now authorized.While a session is still good, running aether login again says you are already signed in. Run aether logout first if you want to start over. Once a session has expired or been revoked, aether login replaces it without complaint, and the machine keeps one credential rather than collecting a new one each time.
| Flag | Default | Purpose |
|---|---|---|
--device |
off | Print a short code to enter in a browser elsewhere. For SSH sessions, containers, and machines with no browser. |
--accessKey, --key |
none | Sign in without prompts, using an access key or an API key. This is the CI path. |
--password |
off | Deprecated. Sign in with email and password. Fails on accounts with multi-factor authentication. |
--serverUrl |
production | Sign in against a different Aether server. The URL is remembered for the session. |
No browser on this machine
Section titled “No browser on this machine”Over SSH, inside a container, or on a locked-down host, ask for a code instead:
aether login --deviceOpen:https://dashboard.aetherpush.com/activate
Enter code:XXXX-XXXXOpen that page in any browser you are signed in to, type the code, and approve. The terminal picks up the approval and finishes. The CLI switches to this by itself when it cannot open a browser or cannot listen for the callback, so you rarely have to ask for it.
Pipelines and other machines keep using a key:
aether login --accessKey $AETHER_API_KEYUse a deploy-scoped API key, not a session access key. The access keys and API keys page explains which credential belongs where.
The CLI detects CI through the CI variable and refuses browser sign-in there, so a misconfigured pipeline fails loudly instead of hanging on a browser nobody will open.
Managing authorized machines
Section titled “Managing authorized machines”Every machine you authorize appears under Account → CLI & Devices in the dashboard, with its name, CLI version, and expiry. Revoking one signs that machine out immediately. aether logout does the same thing from the machine itself.