oa, the CLI
oa talks to a brain over its HTTP API and holds no state of its own beyond a
config file. Against a development brain it needs no setup — run oa whoami and
it finds the shared token already in your shell. Anywhere else, oa login.
Commands¶
| Command | What it does |
|---|---|
oa login |
Log in to the current context's brain |
oa logout |
Discard the current context's credential |
oa whoami |
Show who the current credential authenticates as |
oa context list |
List the saved contexts |
oa context create <name> |
Add a context and switch to it |
oa context use <name> |
Make a context the one every command talks to |
oa context rename <old> <new> |
Rename a context, keeping its address and credential |
oa context delete <name> |
Forget a context and its credential |
oa config show |
Show the effective settings and where each came from |
oa config set <key> <value> |
Write a setting to the config file |
oa config unset <key> |
Remove a setting from the config file |
oa config path |
Print the config file location |
oa teams list |
List the teams you can see |
oa teams create <name> |
Create a team |
oa teams delete <team> |
Delete a team; it can be restored until it is erased |
oa teams restore <team> |
Bring back a deleted team |
oa teams list --deleted |
List deleted teams, and when each is erased |
oa teams members list <team> |
List a team's members |
oa teams members add <team> <user> |
Add someone to a team |
oa teams members remove <team> <user> |
Take someone out of a team |
oa teams settings show <team> |
Show a team's model, web search, learning, compaction and hub |
oa teams settings set <team> |
Change only the settings named by flags |
oa channels list <team> |
List a team's channels |
oa channels create <team> <name> |
Connect a channel |
oa channels delete <team> <channel> |
Disconnect a channel |
oa channels senders pending <team> <channel> |
List senders waiting to be approved |
oa channels senders list <team> <channel> |
List approved senders |
oa channels senders approve <team> <channel> <sender-ref> <user> |
Let a sender speak as a user |
oa channels senders remove <team> <channel> <sender-ref> |
Take a sender's access away, or dismiss a pending one |
oa sessions list <team> |
List a team's conversations |
oa sessions get <team> <session> |
Show a conversation: its kind, where it came from and when |
oa sessions read <team> <session> |
Read a conversation |
oa runs start <team> [agent] <input> |
Ask the team's hub, or start an agent on a task |
oa runs events <team> <run> |
Follow what a run does, as it does it |
oa runs get <team> <run> |
Show a run: its status, input, answer and what it spent |
oa runs list <team> <session> |
List the runs started in a conversation |
oa runs cancel <team> <run> |
Stop a run |
oa agents list <team> |
List a team's agents |
oa agents get <team> <agent> |
Show an agent, with its instructions and its grants |
oa agents create <team> -f <file> |
Define an agent |
oa agents replace <team> <agent> -f <file> |
Replace an agent's definition and grants |
oa agents delete <team> <agent> |
Delete an agent |
oa skills list <team> |
List a team's skills |
oa skills get <team> <skill> |
Show a skill: its frontmatter, where it came from, and its files |
oa skills cat <team> <skill> <path> |
Print one of a skill's files |
oa skills upload <team> <dir\|zip> |
Upload a skill from a directory or a zip |
oa skills import <team> <source> |
Import a skill from a GitHub folder or a zip at an allowed address |
oa skills sync <team> <skill> |
Fetch an imported skill again from where it came from |
oa skills replace <team> <skill> <dir\|zip> |
Replace a skill's files with a new directory or zip |
oa skills delete <team> <skill> |
Delete a skill |
oa mcp-servers list <team> |
List a team's MCP servers |
oa mcp-servers get <team> <server> |
Show an MCP server |
oa mcp-servers create <team> <name> |
Register an MCP server, by --url or a command after -- |
oa mcp-servers discover <team> <server> |
Ask an MCP server for its tools now, and record them |
oa mcp-servers tools <team> <server> |
List the tools it offered when it was last discovered |
oa mcp-servers replace <team> <server> <name> |
Replace an MCP server's definition |
oa mcp-servers delete <team> <server> |
Delete an MCP server and its tools |
oa users list [subject] |
List users, or find one by subject |
list accepts ls, delete and remove accept rm, and mcp-servers accepts mcp.
Anywhere a command takes <team>, <channel>, <user>, <agent>, <skill>
or <server>, a name works as well as an id. A uuid is used as given and never
looked up, so a script that passes ids pays nothing for the convenience.
Flags on every command¶
| Flag | What it does |
|---|---|
-o, --output |
table, json or yaml. Default: $OPENARITY_OUTPUT, then the saved config, then table |
--server |
The brain's API address. Default: $OPENARITY_SERVER, then the saved config, then http://127.0.0.1:21120 |
--token |
The credential to send, instead of the saved one |
--non-interactive |
Never prompt; fail instead of asking |
Lists page. A paged command prints {items, next_cursor} under -o json and
tells you the command to run for the next page under -o table; --limit and
--cursor control it.
Info
This table is the command tree as oa --help prints it. For the flags and the
prose belonging to one command, ask it: oa channels senders approve --help.