Usage
Subcommands
aether claude-code connect
Opens Claude’s sign-in page in your browser. Paste the code Claude shows when the command asks for it. The command then stores the setup token as a new connection under--name. Without --name, the connection is named Claude plan.
connection_name_taken, so pass a different --name.
With —link
--name, exactly as connect does. Your personal agent runs this for you when you ask it to connect your Claude plan.
The paste link works once, for ten minutes, and the command waits no longer than that plus 30 seconds, a grace for a clock behind Aether’s. It exits non-zero with a typed reason (the error.code of --json) when the attempt ends without a token:
Each needs a new
connect --link: the code works only with the process that printed its sign-in link.
aether claude-code reconnect
Refresh the setup token on an existing Claude plan connection. Sign in to Claude again and paste the code it shows. The connection keeps its name and id, so agents and tasks pointing at it keep working; no second row is created.--name is required. Names are unique per option, so a Claude plan and an API key can share a name: this command addresses the Claude plan. An unknown name fails and lists the connections you hold. A name held only under another option returns the API’s connection_option_mismatch sentence unchanged.
aether claude-code api-key
Add an Anthropic API key as a new connection. Omit--api-key to enter the key at a secure prompt.
To rotate a held key instead of adding another connection:
--api-key to use the secure prompt. An unknown name lists your held connections; an option mismatch preserves the API’s error sentence.
aether claude-code status
List every Claude Code connection in the order you added it: its name, its option, an API key’s last four characters, and whether it needs re-authentication.Claude Code: not configured and points you to connect.
aether claude-code disconnect
Remove the connection named by--name. Every other connection stays in place. If you hold exactly one connection, you can leave out --name.
The command refuses, and lists your connections, in two cases:
- You hold several connections and gave no
--name. - The name matches more than one connection, for example a Claude plan and an API key that share a name. Remove that one under Connections on the web.
Disconnecting the default while another task-usable Claude Code connection is held is refused: use Make default for Claude Code tasks in Settings → Connections first. Removing the last one sets the default to Aether inference. Tasks that ran on the removed connection follow the harness’s default for their next turn; past turns keep their ran-on records. A personal agent or profile running on the row also blocks removal until you move it.