Hwip Docs

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 install

hwip 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 account

No 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  # OpenCode

Each 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.

CommandEffect
/hwip-mode normalpush on every turn that did real work
/hwip-mode loudpush on every turn
/hwip-mode mutefull silence, current project
/hwip-modeshow what is in effect

See Push modes for the full dial.

If something looks wrong

hwip verify

It 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.

On this page