swarm-claude-login
The claude login minter, in the swarm-claude-login container on the host
that sets deploy.claude-login.enable. The design is
docs/swarm/claude-login.md.
swarm-controller relays an operator's login of one agent as two requests on
$SWARM.claude-login.request: a start, answered with the URL
claude auth login printed, and the code the operator pasted, answered once
the agent's .credentials.json is stored at
swarm/agents/<agent>/claude-credentials. Each login runs with HOME and
CLAUDE_CONFIG_DIR in its own scratch directory, removed when the login
ends however it ends.
Credentials
The container holds one credential: its own store certificate, which nspawn
hands in at start without a copy on disk. With it the service reads its queue
client secret, and writes the claude-credentials leaf of any agent, a new
version over the last. Its store role can do exactly those two things.