通知と承認
Wendo は、Claude Code が許可を求めたとき、質問をしたとき、作業を終えたときに通知し、スマホから承認または拒否できるようにします。中継サーバーもアカウントもありません。パソコン上のスクリプトが各イベントを ~/.wendo/events.jsonl に書き込み、アプリがあなたの鍵を使って SSH でそれを読み取ります。
場所
- 受信トレイ: すべてのホストからの通知。各行を承認または拒否できます。
- 設定 › エージェント › フック: インストールコマンドと手動セットアップ。
- 設定 › エージェント › 通知: アプリの通知方法と ntfy のトピック。
インストール
パソコンで実行します(macOS または Linux。Windows では WSL の中で):
curl -fsSL https://wendo.lirafy.dev/install.sh | sh
wendo-hook.sh と wendo-pair.sh を ~/.wendo にダウンロードし、システムのパッケージマネージャーで jq と qrencode をインストールし、~/.claude/settings.json にフックを追加し(先に settings.json.bak-wendo としてコピーを保存します)、ペアリング用の QR コードを表示します。何度実行しても重複することはありません。
オプションは sh -s -- の後ろに付けます。--no-deps(パッケージをインストールしない)、--no-claude(Claude の設定に触れない)、--no-pair(QR コードを表示しない)です。例:
curl -fsSL https://wendo.lirafy.dev/install.sh | sh -s -- --no-deps
記録するイベント: PermissionRequest、Notification、Stop、UserPromptSubmit、SessionStart、SessionEnd。
承認の仕組み
PermissionRequest が届くと、フックはアプリから応答があるまで最大 90 秒待ちます。応答しなければ何もせず、Claude Code はいつもどおりターミナルで確認します。フックのコマンドに環境変数を付けると調整できます。
WENDO_APPROVAL_TIMEOUT: 待つ秒数。settings.jsonのフックのtimeout(120)はこれより大きくする必要があります。WENDO_BLOCKING=0: 通知だけを行い、応答を待ちません。WENDO_HOST: アプリ上のパソコン名がhostname -sと違う場合の、パソコンの名前。
質問(AskUserQuestion)とプランの承認(ExitPlanMode)は待機しません。チャットビューから答えます。
アプリを閉じているときの通知
アプリを開いている間、Wendo は数秒ごとに受信トレイを読み込みます。アプリを閉じているときは ntfy を使います。
- フックのコマンドの前に
NTFY_TOPIC=<長くてランダムなトピック>を付けます。 - ntfy アプリでそのトピックを購読します。
- 設定 › エージェント › 通知 に同じトピックを入力します。
トピックはパスワードの役目を果たすので、推測されにくいものにしてください。NTFY_URL を使えば、自分の ntfy サーバーも使えます。Android では、少なくとも 15 分ごとにバックグラウンドでも確認します。
要件と制限
jqが必要です。curlが必要なのは ntfy を使う場合だけです。- 今のところ Claude Code のみ。ほかのエージェントにはフックが登録されません。
- Claude を tmux、zellij、herdr の中で実行すると、通知をタップしたときにアプリがそのペインへ移動します。
- 無料プランでは、受信トレイからのお試し承認が 5 回まで使えます。Pro なら制限はありません。