Get started
From an empty machine to an agent that asks your phone, in three steps.
Hwip joins two things: the machine your coding agent runs on, and the phone in your pocket.
1. Install the app and sign in
Install Hwip from the App Store and sign in. Allow notifications when the app asks, so a question can reach you while the screen is locked.
A push needs an app to read it. Until an iPhone is signed in to your account, hwip notify and
hwip ask send nothing and say so.
2. Set up the machine
npm install -g @hwip/cli
hwip installhwip install opens a browser sign-in at console.hwip.app. Use the same account as in the app.
Approve the connection and the web app hands the CLI an API key and a hook, which the CLI writes to
~/.hwip/config.json. Nothing to copy, nothing to paste.
The CLI then lists the agents it found on the machine and asks which to wire up. It installs the rules, hooks and MCP configuration for the ones you pick. Running it again is safe: a saved login is reused, and a re-run only refreshes the agent integrations.
hwip install --only claude,codex # skip the picker
hwip install --relogin # switch accountNo browser on this machine? On an SSH box or inside a container, run hwip install somewhere
that has one, then pass the two values from its ~/.hwip/config.json:
hwip install --key ak_... --hook hook_...Install tmux
Phone-driven sessions run in tmux. hwip install checks for it and, on macOS with Homebrew, offers
to run brew install tmux. Elsewhere it prints the command. tmux has no Windows build, so on
Windows use WSL.
3. Start your agent through Hwip
hwip cc # Claude Code
hwip codex # Codex CLI
hwip gemini # Gemini CLI
hwip pi # pi
hwip opencode # OpenCodeEach wrapper runs the agent in a normal tmux session named hwip-<project>, starts the background
listener the first time, and passes extra arguments through (hwip cc --resume). An agent that was
already open when you ran hwip install has not read its new configuration yet, so quit and
reopen it.
When the agent next asks you something, the question lands on your phone with the diff. Tap a button, or type a reply, and the answer is typed into the session.
How loud it will be
The hooks fire for every session of each agent you wired up, not only sessions started through
hwip cc. In Claude Code the default is quiet: you are pushed when the agent asks you something
and when a session finishes after you have stepped away, not on every turn.
| Command | Effect |
|---|---|
/hwip-mode normal | push on every turn that did real work |
/hwip-mode loud | push on every turn |
/hwip-mode mute | full silence, current project |
/hwip-mode | show what is in effect |
See Push modes for the full dial.
If something looks wrong
hwip verifyIt checks installation health for each detected agent and reports what is missing. Add
--ping for a live API call.
Where to go next
- Agents — what reaches your phone for Claude Code, Codex CLI, Gemini CLI, pi and OpenCode.
- CLI & SDK — remote control from your phone, and pushing from any script.
- MCP server — tools your agent calls on its own, such as
hwip_ask. - Claude Code plugin — hooks and skills, installed by step 2.