lium signup
Create a Lium account from the terminal and store the API key it mints.
Use this when you have no account yet. lium init authenticates an account that already exists — it cannot create one.
lium signup --email you@example.com
Options​
| Flag | Effect |
|---|---|
--email ADDRESS | Your real email address — the confirmation link is sent there. Required. |
--name NAME | Display name (defaults to the local part of the email) |
--password PASSWORD | Account password. One is generated when you omit it. |
--json | Print machine-readable JSON |
Prefer the LIUM_SIGNUP_PASSWORD environment variable over --password: a flag value is left behind in your shell history and in ps output.
What it does​
- Creates the account.
- Writes the minted API key to
~/.lium/config.iniunderapi.api_key. - Sets up an SSH key locally: picks the first of
~/.ssh/id_ed25519,id_rsa,id_ecdsathat exists, generatesid_ed25519when none does, and records the path in the config. Nothing is uploaded yet — the public key reaches your Lium account on the firstlium up.
After it finishes, lium ls and lium up work with no further setup. The command prints the password — it is your login at lium.io and is not stored anywhere else.
Confirm your email before renting​
Renting stays blocked until you click the link in the "Please confirm your email" message. The separate "Welcome to Celium!" message carries no link.
When an account already exists locally​
lium signup refuses to run while an API key is already in effect, rather than creating a second account you cannot reach. Where the key comes from decides how to clear it — the error message names the right one:
# Key stored in ~/.lium/config.ini
lium config unset api.api_key
# Key exported in the environment — `lium config unset` will not help here
unset LIUM_API_KEY
lium signup --email you@example.com
Examples​
lium signup --email ada@example.com
lium signup --email ada@example.com --name Ada
lium signup --email ada@example.com --json
LIUM_SIGNUP_PASSWORD=... lium signup --email ada@example.com
--json output:
{
"api_key": "sk_...",
"email": "ada@example.com",
"next_steps": ["...", "...", "..."],
"password": "generated-or-supplied",
"signup_credit_granted": true,
"ssh_key_configured": true
}
signup_credit_granted answers whether the signup credit landed: true granted, false not granted, null not reported by the backend — read lium balance --json in that case.
If the command fails after the account was created, the error still reports the email and password, so you can log in at lium.io and copy an API key from the dashboard.
See also​
lium init— authenticate an existing accountlium balance— check the balancelium ls— find a node to rent