list, create and a profile named by its name act in the one --org names, else the one AETHER_ORG names, else your personal organization; a profile’s id reaches it in the organization that owns it, whichever --org names. An automation runs its tasks with a profile.
A <profile> argument is the profile’s id, or its name in the organization. A UUID is always taken as a profile’s id, so a profile named as a UUID is reached by its id.
Subcommands
list
--json, prints the profiles as the API returns them.
get
--json, prints the profile as the API returns it.
create
string
Profile name, unique in the organization.
string
The agent:
claude-code, codex or opencode.string
The model. Defaults to the agent’s default model.
string
The thinking level, one the agent and model offer. Defaults to the model’s own;
none names no level.string
What the profile’s tasks run on:
default: nothing is pinned, so each task runs on its creator’s default. This is the default.aether: Aether inference, paid from the organization’s balance. Claude Code and Codex only.- A connection you hold, by its name or its id. A UUID is always taken as a connection’s id, so a connection named as a UUID is passed by its id. A name you hold under two connections is refused with their ids.
string
What a task continues on when its plan’s window is spent:
none: nothing, so a task on the profile’s plan pin stops. This is the default. A profile that pins nothing has no fallback of its own: each task follows its creator’s default, fallback and all.any: the first connection the pin’s holder holds that the window does not block.aether, or a connection by its name or its id: that alone.
string
With
--fallback any, what the task continues on when no connection is usable: aether, or a connection by its name or its id.update
create but --agent-type, since a profile keeps its agent.
The API checks the model and thinking level together, so --model or --reasoning-effort sends both. A new --model keeps the thinking level when the model offers it, and --reasoning-effort none returns the profile to the model’s default. Either saves a profile on a retired model on its successor, while --model naming a retired model is refused. The update reads the profile for the one its flags leave and sends it back as read, so a change to it someone saves between that read and the update’s write is overwritten. The API refuses only a change it sees while it applies the write.
--runs-on default unpins the profile, which clears its fallback. When the profile has a fallback, a new pin names its --fallback too, or the API refuses it.
delete
--json, prints the deleted profile’s agent_profile_id.
bool
Skip the confirmation prompt.