# Run Stableship from your agent

> Let your coding agent do what you do in the app, with a person asked first for anything that lowers protection.

With the right access, your coding agent can do most of what you do in the app: follow what needs doing next, triage findings, resume a held audit, change policies and kinds of user, and share a report. It cannot connect tools, buy anything or manage your team.

## Give it access

Agents that sign in through the browser already have it. For a token, choose **Run Stableship** when you create it. Only owners and admins can make these tokens.

Every action runs with the role and app access of the person who connected the agent or made the token, and the activity log shows it as that person's coding agent.

## What it can do

| Ask your agent to | Tool | CLI | Asks a person first |
|---|---|---|---|
| Say who it is and what it can reach | `whoami` | `stableship whoami` | No |
| Say what needs doing next | `get_next_steps` | `stableship next` | No |
| Show recent activity | `get_activity` | `stableship activity` | No |
| Show the app's pages, data and flows | `get_app_map` | `stableship map` | No |
| Resume a held audit, change a kind of user, read the app again, change notifications | `resume_held_audit`, `set_role`, `set_role_reach`, `reanalyze`, `set_notifications` | `stableship do <action>` | No |
| Stop sharing a report | `unshare_report` | `stableship do unshare_report` | No |
| Triage a finding, ship anyway, decide a rule suggestion, change a policy or autonomy, remove a kind of user or a rule, share a report | `triage_finding`, `ship_anyway`, `decide_rule_suggestion`, `set_policy`, `set_autonomy`, `remove_role`, `remove_rule`, `share_report` | `stableship do <action>` | Yes, when it lowers protection |

## How a person says yes

- **Claude Code** shows its own prompt every time one of these tools is called, even in auto mode. Allow rules cannot skip it.
- **The CLI at a terminal** asks `Go ahead? [y/N]` before it sends the action.
- **Anything else** (Cursor, Codex, an agent running the CLI without a terminal) gets back an approval id. A person approves it in Stableship, by email, in Slack or in the app's Activity, and Stableship carries it out. The agent can follow it with `get_approval` or `stableship approval <id>`.

To make every such action wait for a person in Stableship, whatever the agent, open your app's settings, then **How Stableship works**, and under **Coding agents** set **Who says yes** to **Always here**. Only people can change that setting.
