Control how Ony gates this agent by phone. Use when the user types /ony, or asks to set Ony to off, on (high-risk only), away (call me for every actionable step), here (back at the keyboard), or status. The requested mode is in the arguments.
2 stars
0 votes
0 copies
0 views
Added October 17, 2026
ai-agentsbash
Works with
claude code
terminal
Security analysis
A96/100
mediumInstalls packages at runtime which could introduce malicious dependencies
---
name: ony
description: Control how Ony gates this agent by phone. Use when the user types /ony, or asks to set Ony to off, on (high-risk only), away (call me for every actionable step), here (back at the keyboard), or status. The requested mode is in the arguments.
---
# /ony - control how Ony gates this agent
Ony phones the developer to approve the agent's risky actions and relays the decision back as allow
or deny. As a marketplace plugin this skill is invoked as `/ony:ony <mode>` (the project-level
install generated by `ony hooks install` exposes the same skill as `/ony <mode>`); the mode is in
`$ARGUMENTS`.
When invoked, run the matching command with the Bash tool and report the new mode in one line. Do
not ask for confirmation first. If `$ARGUMENTS` is empty or not a mode below, run the `status`
command and tell the user the valid modes.
| Mode (`$ARGUMENTS`) | Run | Meaning |
| --- | --- | --- |
| `on` | `ony on` | At the keyboard: phone me only for high-risk actions |
| `away` | `ony away` | Remote control: phone me for EVERY actionable step (I left the keyboard) |
| `here` | `ony here` | Back at the keyboard: return to high-risk-only calls |
| `off` | `ony off` | Ony does nothing; tool calls use normal permissions |
| `status` | `ony status` | Show the current mode |
The mode is PROJECT-scoped (stored in this project's `.ony/project.json`): every session in this
project shares it; other projects are unaffected. It is read by the gate hooks this plugin
installs, so a change takes effect on the next tool call.
## How the gate composes with Claude Code
Ony inherits Claude Code's own decision surface: it rings exactly when Claude itself would stop
and ask you for permission - never for work you pre-authorized (allowlisted commands,
accept-edits, bypass-permissions). `away` answers EVERY such ask by phone; `on` answers only the
high-risk ones and leaves the rest to the terminal dialog. `away` also turns an `AskUserQuestion`
into a real phone menu - Ony reads each option, marks the recommended one, and delivers the keypad
choice back as the answer - so ask multiple-choice questions normally instead of avoiding them;
the user answers by phone.
## Prerequisite
The `ony` connector must be installed and enrolled on this machine:
```bash
pip install ony
ony enroll --url <your-ony-url> --email <you>
```
(You are prompted for the password; it is not accepted on the command line.) If a command reports
"Not enrolled", tell the user to run `ony enroll` first. `ony doctor` diagnoses a setup that never
calls.