Hooks
What urc runs automatically, and when. A hook is a command Claude Code fires at a fixed moment, without you asking for it.
> /plugin marketplace add sidkandan/universal-remote-control > /plugin install urc@universal-remote-control
Ships with urc. Installing the plugin gets these hooks.
What fires, and when
UserPromptSubmit
Fires before Claude sees each prompt you send. A plugin can use it to inject context, so the same instruction reaches the model every turn instead of only at session start.
bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/urc-intercept.shbash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/urc-relay-hook.sh
Stop
bash ${CLAUDE_PLUGIN_ROOT}/urc/core/hook.sh
SessionStart
Fires once when a session begins, and again after a context compaction. It is where a plugin sets up its environment, or restores state the compaction dropped.
bash ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/plugin-setup.sh
In the plugin's words
How urc describes its own hook set.
URC turn-completion, auto-setup, and command intercept hooks
Control Codex and Gemini from the Claude App on your phone. You know /remote-control — the Claude Code feature that lets you control a session from the Claude App on your phone. URC makes it universal. One command, and your phone controls Codex.

