Claude Code Plugin
Install the plugin and get notifications plus phone replies with no prompting.
Your agent finishes a build or hits a decision, your phone buzzes, you tap an answer, and the session keeps going. No walking back to the terminal.
Quick start
# 1. Add the Claude Code plugin
claude plugin marketplace add zeph-to/plugin
claude plugin install zeph@zeph
# 2. Install the CLI and wire everything up (opens a browser sign-in)
npm install -g @zeph-to/cli
zeph installRestart Claude Code — notifications start automatically. zeph install signs you in once, issues
a matched API key and hook, and configures every AI agent it finds on your machine.
Not near a browser? See other agents for the headless form.
A global zeph is what powers zeph cc, and it lets agent hooks skip an npx cold start on every
push. npx @zeph-to/cli install still works for a notifications-only setup.
What you get
Notifications that need no prompting
| You get a push when… | Fires on |
|---|---|
| Claude asks you a question | any AskUserQuestion |
| A session has been idle for five minutes, meaning it is done | the session going quiet, not each turn |
| Claude flags a turn as important | a high Push Signal on that response |
| Claude finishes real work, every turn | only after /zeph-normal |
These ride on hooks — shell commands that fire on Claude events, independent of whether the model remembers to notify you.
Out of the box the per-turn push is off (quiet), so a long session pings you when it asks
something and when it is actually finished, not thirty times along the way. They fire in every
Claude Code session, not only ones launched with zeph cc — that command is the phone-control
bridge, not the notification switch.
See Mute and push mode to dial the volume.
Replies that go straight into the session
With a Hook ID configured, which zeph install sets up automatically, Claude ends a turn by
asking you — buttons and a text field, together. Tap Continue, Review, or Done, or type
commit and push / /ship / fix the tests. Your answer runs immediately, then Claude asks
again. That is the Ask Loop, and it continues until you tap Done.
| Tool | What it shows | When Claude reaches for it |
|---|---|---|
zeph_ask | buttons and text input | decisions, next steps, custom instructions |
zeph_prompt | 2–4 buttons | simple yes/no or pick-one |
zeph_input | text field | free-form input only |
zeph_notify · zeph_clipboard · zeph_file | one-way push | when you explicitly ask |
zeph_ask, zeph_prompt, and zeph_input need a Hook ID, issued during sign-in and saved to
~/.zeph/config.json. No environment variables.
Other agents
zeph install is not Claude-only. It detects every agent on your machine and configures each
one with an MCP server, notification hooks, and a behavioral rule file in that agent's native
always-on location:
npm install -g @zeph-to/cli
zeph install| Agent | Auto notify | MCP tools | How |
|---|---|---|---|
| Claude Code | ✓ Stop hook | ✓ | Plugin |
| Cursor | ✓ stop hook | ✓ | MCP + hook + rules |
| Windsurf | ✓ response hook | ✓ | MCP + hook + rules |
| Gemini CLI | ✓ AfterAgent hook | ✓ | MCP + hook |
| Codex CLI | ✓ Stop hook | — | Hook + rules |
| Copilot CLI | ✓ sessionEnd hook | — | Hook + rules |
| Cline | LLM-based | — | Rules file |
| Aider | LLM-based | — | Conventions file |
Headless box with no browser: sign in on any machine that has one, then copy the two values
from its ~/.zeph/config.json:
zeph install --key ak_... --hook hook_...Manual MCP setup
If you would rather not run the installer:
Gemini CLI
gemini mcp add zeph -- npx -y @zeph-to/mcp-serverCursor — add this to ~/.cursor/mcp.json. Windsurf uses
~/.codeium/windsurf/mcp_config.json with the same shape.
{
"mcpServers": {
"zeph": {
"command": "npx",
"args": ["-y", "@zeph-to/mcp-server"],
"env": { "ZEPH_API_KEY": "ak_..." }
}
}
}Session commands
/zeph-config (guided setup) · /zeph-auto [duration] [task] · /zeph-mute · /zeph-unmute ·
/zeph-status · /zeph-quiet · /zeph-loud · /zeph-normal.
Uninstall
zeph uninstall # remove Zeph from every detected agent
zeph uninstall --dry-run # preview first
zeph uninstall --purge # also delete ~/.zeph/config.jsonThis reverses zeph install everywhere — MCP entries, hooks, and rule files. It only touches
Zeph's own artifacts: shared rule files keep your content, with just the
<!-- ZEPH:START -->…<!-- ZEPH:END --> block stripped.
Remove the Claude Code plugin itself with claude plugin uninstall zeph@zeph.