Approve Cursor agent commands from your phone
Cursor’s agent runs hooks before it uses a tool. Reins adds one, so the request for a command or an edit reaches your phone and your answer goes back. If the daemon is already installed and paired, this is two commands.
Before you start
Install the daemon and pair your phone once per machine; the
Claude Code guide walks through it, and the steps are
the same for every agent. reins setup wires Cursor on its own when Cursor looks installed, and
names it as skipped when it does not.
Wire Cursor
See what would change first, then write it:
reins install-hooks --agent cursor --dry-run reins install-hooks --agent cursor
Reins writes ~/.cursor/hooks.json, naming the reins binary by its absolute path so
the hook does not depend on whatever PATH Cursor inherited. Re-running is safe: an entry that is already right is
kept. Restart Cursor afterwards so it reloads the file.
What arrives on the phone
The same card as for every agent: who asked and in which folder, the exact command or the diff for an edit, a warning when it cannot be undone, and what happens if you do nothing. Edits are one tap. Commands that cannot be undone take a press-and-hold. Deny all clears the queue.
If no phone is attached, or nobody answers within three minutes, the hook returns nothing and Cursor shows its own prompt, as it did before. An unanswered request is never a denial.
What is Claude Code only
The live transcript with tool calls and diffs is read from Claude Code’s own project files, so it is Claude
Code only. For Cursor you get approvals and what its hooks report; reins agents lists the exact
capabilities per agent. The terminal on the phone is a real shell on the machine whatever the agent, and typing
to a running agent needs it inside herdr, tmux or zellij.
Check and undo
reins doctor reins uninstall-hooks --agent cursor doctor shows whether Cursor is wired on this machine. uninstall-hooks removes exactly
what install-hooks added, and nothing else.