The /ony modes
The /ony mode controls how much of your agent’s work Ony.ai gates by phone. You set it inside your agent session with /ony <mode>, or from any terminal with ony <mode>. A change takes effect on the next tool call.
The modes
Section titled “The modes”| Mode | What it does |
|---|---|
off |
Ony.ai does nothing. Tool calls use your agent’s normal permissions; Ony.ai is fully out of the flow. |
on |
At the keyboard. Ony.ai phones you only for high-risk actions; everything else is left to your agent’s own prompts. |
away |
Remote control. Ony.ai phones you for every ask your agent would stop on. Multiple-choice questions become phone menus. |
here |
Back at the keyboard. Returns you to high-risk-only calls. This is the same setting as on. |
status |
Prints the current mode and checks connectivity. Does not change anything. |
Set a mode from the agent or the terminal:
/ony away # inside Claude Code (or /ony:ony away with the marketplace plugin)ony away # from any terminal in the projectOny.ai emits no decision for any tool call. Your agent’s own permission configuration (bypass, accept-edits, allowlists, prompts) applies untouched. Installing Ony.ai’s hooks is a no-op for your workflow until you turn a mode on.
on (and here)
Section titled “on (and here)”Ony.ai rings only for high-risk actions. On Claude Code this composes with inheritance: a high-risk action rings only if Claude would have stopped to ask about it. Routine work, and anything you allowlisted, is governed entirely by your own Claude Code settings. Ony.ai adds exactly one behavior in this mode: a phone call for the high-risk asks.
Remote control for when you have left the keyboard. Ony.ai phones you for every ask the agent would stop on - the call replaces the terminal prompt nobody is there to answer. In this mode Ony.ai also turns an agent’s multiple-choice question into a phone menu: it reads each option, marks the recommended one, and delivers your keypad choice back as the answer. So you can let the agent ask questions normally and answer them from your phone.
Project scope
Section titled “Project scope”Modes are project-scoped by default. The mode is stored in the project’s .ony/project.json, and every agent session working in that project shares it. Other projects are unaffected.
ony <mode> (with no flag) finds the project by walking up from your current directory to the nearest ancestor that looks like a wired project: one with a .ony/project.json file, a .git directory, or a .claude directory. Your home directory is never treated as a project root.
To set the machine-wide default instead - the mode used when you are not inside any project - add --global:
ony away --global # the default for this machineony on # this project only (the common case)The project mode always wins over the global default for sessions inside that project.
Checking and diagnosing
Section titled “Checking and diagnosing”ony status # current mode + connectivityony doctor # end-to-end check of the wiring, one line per checkIf a mode command reports “Not enrolled,” run ony enroll (or ony init) first. See the CLI reference for the full command set.
Next steps
Section titled “Next steps”- How the gate works - why
onnever rings for allowlisted commands. - Quickstart - wire up a project and pick a mode.