namera login
Authorize a terminal connection through your browser.
Authorize a terminal connection through your browser.
Usage
namera loginOutput
OK Signed in as "personal".
-> Run namera wallet list to see your wallets.Example output uses fixture accounts and hashes, captured with the CLI's output formatters. Plain-text output is shown without terminal colors; your values and relative expiry dates will differ.
Before approval, the verification URL and code are printed to stderr. The
successful JSON result contains profile, status: "connected", and the full
CLI actor record. No access or refresh token is printed.
{
"profile": "personal",
"status": "connected",
"actor": {
"type": "cli",
"data": {
"actorId": "0199dfe1-0000-7000-8000-000000000014",
"organizationId": "0199dfe1-0000-7000-8000-000000000004",
"organizationName": "Example workspace",
"grants": [
{
"grant": {
"id": "0199dfe1-0000-7000-8000-000000000013",
"organizationId": "0199dfe1-0000-7000-8000-000000000004",
"actorId": "0199dfe1-0000-7000-8000-000000000014",
"sessionKeyId": "0199dfe1-0000-7000-8000-000000000002",
"grantedByActorId": "0199dfe1-0000-7000-8000-000000000015",
"revokedAt": null,
"revokedByActorId": null,
"createdAt": "2026-10-11T09:00:00.000Z"
},
"sessionKey": {
"id": "0199dfe1-0000-7000-8000-000000000002",
"organizationId": "0199dfe1-0000-7000-8000-000000000004",
"walletId": "0199dfe1-0000-7000-8000-000000000001",
"signingKeyId": "0199dfe1-0000-7000-8000-000000000005",
"createdByActorId": "0199dfe1-0000-7000-8000-000000000015",
"metadata": {
"version": 1,
"name": "Example session",
"logo": { "type": "emoji", "value": "🔑" },
"description": "SDK test session"
},
"policyHash": "0x3333333333333333333333333333333333333333333333333333333333333333",
"status": "active",
"revokedAt": null,
"revokedByActorId": null,
"createdAt": "2026-10-11T09:00:00.000Z",
"namespace": "eip155",
"policies": [
{
"id": "0199dfe1-0000-7000-8000-000000000016",
"appliesTo": "both",
"type": "evm.chain-allowlist",
"version": 1,
"chainIds": ["eip155:84532"]
}
]
}
}
],
"authorization": {
"id": "0199dfe1-0000-7000-8000-000000000017",
"clientId": "0199dfe1-0000-7000-8000-000000000018",
"scopes": [
"wallet:read",
"session-key:read",
"execution:read",
"execution:execute",
"signature:create",
"offline_access"
],
"metadata": {
"type": "cli",
"version": 1,
"deviceName": "Example laptop",
"cliVersion": "1.2.0",
"platform": "darwin"
},
"expiresAt": null,
"lastUsedAt": "2026-10-11T09:10:00.000Z",
"createdAt": "2026-10-11T09:00:00.000Z"
}
}
}
}Options
--profile
- Type:
string - Default:
personal
Save the connection under this name. Pass it to later commands with --profile.
Logging in again replaces that profile's saved connection.
--host
- Type: absolute API URL
- Default:
https://api.namera.ai
Connect to this API origin. Login uses this flag, not NAMERA_API_URL.
For local development, pass --host http://localhost:8080.
--device-name
- Type:
string - Default:
Namera CLI on <platform>
Name shown during consent and in CLI execution history. Choose a recognizable device name without secrets:
namera login --profile work --device-name "Work laptop"The command also accepts global options:
--output pretty|json, --quiet, and --help.
Browser Approval
Approve access only to the active session keys this connection needs. If the browser cannot open, visit the printed URL and enter the code. Login waits for approval and expires if you do not complete it in time.
Credentials are saved in the OS keyring. Imported signing keys are separate from the login connection. Use Authentication for API-key automation and sign-out behavior.
Errors
Failures exit nonzero and are written to stderr. With --output json, inspect
error.code and error.nextStep. See Output and Errors.