atrium — docs
homearchitectureagent statusidentityfleetscontrol planetrust & securityreaping

Credential identity

atrium can launch an agent pane under a chosen credential identity, so a single grid of agents can run under different keys or federation profiles at once. Only the identity's name is ever shown; the secret behind it is never displayed, cached, logged, or persisted.

Launching under an identity

Pass --identity <name> (short form -I <name>) when you launch an agent:

atrium --identity work claude      # a static key stored in your OS vault
atrium --identity wif:prod claude  # a Workload Identity Federation profile

The identity is resolved for that one child and injected into its environment. It never touches atrium's sibling panes, and atrium itself makes no network calls.

Static key vs wif: profile

A <name> can name one of two kinds of credential:

The two read apart at a glance in the pane's tag: ·wif:prod for a federation profile versus ·work for a static key. That visible distinction surfaces the credential-precedence footgun, a leftover static key silently shadowing a WIF profile, so you can catch it.

How resolution works

atrium resolves the target's environment through the akey crate:

The resolved environment is injected into that one child through the pty (pty::Pty::spawn_with_env). The credential is set for that agent alone.

Lifetime and inheritance

The identity applies to the initial agent pane and is inherited by every split and new pane created from it. Identity is fixed for a pane's lifetime, because a running process's environment cannot change after it starts. To re-identify a pane you respawn it, which is an explicit, visible action.

What is shown: names only

Only the name of an identity is ever rendered.

The hard guarantee: names, never secrets

The resolved environment is re-fetched on every spawn, handed straight to the child, and dropped. It is:

A screen-shared grid leaks no key and no token. It shows only the labels you typed.

Resolve failure is visible

If an identity cannot be resolved (no such target, or the vault is locked), the reason is flashed in the bar and the agent spawns without the credential. You are told what happened rather than running unauthenticated by surprise. atrium never leaves an agent silently unauthenticated.

Scope

Non-agent panes (shells, editors) and no-identity spawns are unaffected: they use the plain spawn path and carry no tag.

Identity is not limited to a single interactive launch. It also works with fleets and with the control plane via ctl spawn --identity, so a whole fleet or a remotely spawned pane can carry the same credential guarantees.

See also the atrium README.