Create isolated native authentication profiles and manage only the accounts you explicitly authorize.

Noria separates upstream account authentication from your normal client workspace. Account profiles belong under NORIA_HOME; the client you launch keeps its usual history and settings.

Create a profile

noria account add work --provider codex
noria account login work
noria account list

Use --provider claude for a Claude Code account. Account IDs are local labels: 1–64 letters, digits, underscores, or hyphens, beginning with a letter or digit. Choose labels that will be safe to include in local status output.

account add creates a profile without copying credentials. account login invokes codex login with that account’s CODEX_HOME, or claude auth login with that account’s CLAUDE_CONFIG_DIR. Complete the native interactive flow as the intended account. Adding a second profile does not create a new provider subscription.

Do not copy your normal auth files into Noria as a setup shortcut. Native login manages its own credential storage. Claude Code can use a macOS Keychain entry associated with the configuration directory or credential files, depending on authentication method and platform. See Claude’s authentication documentation.

Restrict model eligibility

noria account add specialist --provider codex --model gpt-5.4

Repeat --model to allow several exact model names. This is a routing constraint, not a model substitution: requests retain their original model. Use model IDs available to your account; the example is not a promise of model access.

Enable, disable, or remove

noria account disable work
noria account enable work
noria account remove work

Disable an account before maintenance to remove it from eligible placement. Account changes request an immediate reload in a running daemon. If the command reports that configuration was saved but live reload failed, stop/restart the daemon or resolve the control error before relying on the change. Disabling does not cancel work already accepted upstream.

Removing an account unregisters it but retains its native profile credentials and history. It does not securely erase credentials or sign you out. Re-adding the same ID may reuse the retained profile. It does not sign you out of unrelated native client profiles. See security and privacy before deleting local data.

Codex quota reader

Noria launches the installed codex app-server with each account’s isolated CODEX_HOME. It initializes the experimental API and reads account/rateLimits/read; the canonical Codex bucket is preferred over unrelated buckets.

Five-hour and weekly windows are recognized by duration, not assumed array order. Usage percentages mean used, while scheduling explanations may display remaining. Missing windows and resets remain unknown. Model-scoped limits are separate constraints. Noria does not consume quota reset credits to read usage.

The provider interface is described in the Codex app-server documentation.

Claude native quota reader

noria quota refresh claude-work

Noria launches the installed claude executable for the specified isolated CLAUDE_CONFIG_DIR and sends initialize and get_usage JSON control requests. No Node.js installation or separate Agent SDK package is required for this reader.

This is the internal control operation behind the Agent SDK’s experimental usage method. No user turn is submitted for a usage read. The control protocol is not a documented stable CLI interface; Noria validates responses, rejects unexpected activity, and treats missing telemetry as unknown.

Both five-hour and seven-day utilization are read independently. Partial snapshots do not invent the missing window. If quota reads fail, run noria doctor and check troubleshooting.

Use accounts you are authorized to use

Provider account access and usage remain subject to the relevant provider’s terms. Refer to OpenAI’s terms and Anthropic’s consumer terms for the applicable account rules.