Skip to main content
どのエージェントにも共通のコマンドが 5 つ、そして OpenCode だけに必要な 6 つ目があります。対象にしたいコンピュータで、エージェントのセッションの中から実行します — Claude Code と OpenCode では / のコマンド、Codex では $ のスキルです。
Claude Code ではすべてが名前空間に入っています。/nomo-cc: と入力すると一覧が表示されます。OpenCode のコマンド名はフラットでグローバルなので、そちらでは Nomo のコマンドにも接頭辞は一切付きません。
どれも派手に失敗することはありません。することが何もない場合でも、すべて正常に終了します — Not paired はエラーではなく成功です。 最終行が空欄なのは、抜けているからではありません。Claude Code と Codex はそれぞれのホスト側で更新するため、Nomo はそこにコマンドを足していません。それぞれに必要なもの — Codex の場合はたいてい何もありません — はインストールにまとめてあります。

pair

引数なしで実行すると、テーマの適用されたページがブラウザで開き、QR コードが表示されます。アプリでスキャンすると、ページは自動的に Paired ✓ に切り替わります。 code 引数を付けるとブラウザを完全に省き、入力できるワンタイムコードを出力します。ヘッドレスなマシンや SSH セッション向けです。これが第 2 の選択肢なのは意図的で、そのコードはターミナルに、つまりエージェントのトランスクリプトに残るからです。 ペアリングは 10 分間使われないと期限切れになります。1 つのペアリングが対象とするのはマシンであり、エージェントではありません — 同じ Mac の Claude Code、Codex、OpenCode は同じペアリングを共有します。詳しい手順はペアリングにあります。

status

何かおかしいと思ったら、まず最初に実行するコマンドです。正常なマシンの出力は、落ち着いた数行だけです — チェックマークは出てきません。問題がないというのは、言うべきことが何もないということだからです。
空行より上はコンピュータについての報告で、どのエージェントから実行しても同じ内容になります。その下に来るのが、いま実際にいるエージェントで、— you are here の印が付きます。
このコンピュータがそもそもペアリングされているか、通信先の中継サーバー、そして保持しているペアリングを示します。NOT PAIRED は、ここから何ひとつアプリに届かないという意味です。その下の矢印には、いま使っているエージェント向けの pair コマンドが出力されます。
このコンピュータから最後にイベントが実際に出ていったのがいつか、そしてウォッチドッグが動いているかどうかです。ウォッチドッグが動いていないこと自体は問題ありません — 次のセッションで自動的に起動します。セッションが実際に動いているのに never と出ている場合は、問題です。
ローカルネットワークによる直接接続です。このコンピュータが待ち受けているポートと id、iPhone が最後にここへ到達した時刻、そしてこの Mac が最後にアドレスを広告した時刻が並びます。重要なのは真ん中の行で、直接接続が実際に機能したことを示す唯一の証拠です。広告からかなり経っているのに一度も到達がないなら、iPhone からここへ届いていません。広告した直後でまだ到達がないだけなら、判断するには早すぎます。リクエストが拒否された場合は、沈黙のままにせず理由が表示されます。一度も待ち受けたことのないコンピュータでは、この行そのものが出ません — スイッチは iPhone 側にあり、初期状態ではオフです。
on は、許可リクエストがここで保留され、iPhone に送られるという意味です。PAUSED はそうならないという意味で、代わりにターミナルへ出ます。誰かが再開するまで — 何か月後であっても — その状態が続きます。iPhone が何も尋ねてこなくなったなら、この行がその答えのすべてです。一時停止するをご覧ください。
エージェントが Nomo にデータを渡しているか、そして最後に渡したのがどれくらい前かを示します。OpenCode にフックはないので、そちらではこの行の名前が Plugin になります。何も発火していないときは、Claude Code ではフックを読み込ませるために再起動してください。Codex では /hooks を実行します。OpenCode ではプラグインを読み込ませるために再起動してください。
いまはエージェントごとに数えます。1 of 4 tracked here は、このコンピュータが 4 件のセッションを追跡していて、そのうち 1 件があなたのものだという意味です。とっくに終わっているはずの行は、reset の出番です。
問題には 2 つの印だけが付きます。! が問題そのもの、→ がその対処で、実行したエージェントのコマンドの書き方に合わせて書かれます。そのコンピュータ上のほかのエージェントは、Also on this computer の下に 1 行ずつ凝縮して並びます — そしてそちらが壊れているときは、あなたが見に行くのを待たずに、ここでそう伝えます。
何も言うことがない行は省かれます — ペアリングされていないコンピュータには、報告する配信も LAN も承認もありません。ほかのエージェントの問題はここで詳しく説明したうえで、残りの詳細についてはそのエージェント自身のステータスのコマンドを案内します。そして 1 行目にはプラグインのバージョンが載ります。バグを報告するときは、これを添えてください。

approvals

このコンピュータのリモート承認を一時停止し、許可リクエストが iPhone を待たずにターミナルへ直行するようにします。iPhone の電池が切れている、手元にないといったときの逃げ道です。
スイッチはコンピュータごとに 1 つで、すべてのエージェントで共有されます — Codex で一時停止すると、そのマシンの Claude Code と OpenCode でも一時停止されます。ペアリングを解除することも、iPhone 側の設定に触れることもありません。 iPhone 全体に効く別のスイッチもあります。設定の「iPhoneで回答」です。

reset

ウォッチドッグを停止し、無効になったセッションや実体のないセッションの行を消去して、それらを削除するよう iPhone に伝えます。
行が古いままだったり重複したりしているときに、まず試すべき安全なコマンドです。何に手を付けなかったかまで報告してくれます。OpenCode の行は OpenCode のサーバーに属するため、消えない行があるときは先に OpenCode を終了してください — OpenCode での利用をご覧ください。

unpair

ペアリングを取り消し、そのコンピュータ上の鍵を消去します。 iPhone からコンピュータを削除するのは別のことです。そちらはアプリに表示されなくなるだけで、このコマンドを実行するまで Mac はローカルの状態を保持し続けます。

update

OpenCode
OpenCode 専用で、何かを変更する前に必ず確認します。最新であればそこで終わりで、ついでに取得することもありません。
取得するものがある場合は、取得する前に内容を伝えます。
そのあと取得し、インストーラーを実行し直して — 新しい /nomo-* コマンドが追加されていれば、これが取り込みます — OpenCode の再起動を促します。プラグインはサーバーの起動時に 1 回だけ読み込まれるため、再起動するまでは古いコピーが動いたままです。 判断がつかないときは、実行せずに断ります。断る理由ごとに、代わりにすべきことも示します。以前の --ref 付きインストールで固定されたクローン、コミットしていない変更が残る作業ツリー、移動または削除されたクローン、そして何もインストールされていない場合です。
更新の対象は、スタブが指しているクローン — OpenCode が実際に読み込むコピー — であって、入力したコマンドファイルの出どころとは限りません。クローンを複数持っている場合は、ここが重要な違いになります。
Claude Code と Codex に相当するコマンドはありません。更新はそれぞれのホストが担うためで、Codex にいたっては実行するものがないのが通常です。どちらもインストールで説明しています。

状態の保存場所

プラグインが保持するものはすべて ~/.config/cc-status/ にあります。ペアリング、暗号鍵(モードは 0600)、追跡中のセッションごとのファイル 1 つずつ、そしてローカルのトレースログです。このフォルダの中身がどこかへ送られることはありません。

ソースコード

これらのコマンドはプラグインそのものであり、プラグインはオープンソースです。自分のマシンで何が動き、何が外へ出るのかを正確に知りたい場合、その答えは 1 つのリポジトリにあります — マーケットプレイスからのインストールも、その単純なクローンです。

KarrixLee/nomo

プラグインの全ソースコード、MIT ライセンス。issue やバグ報告もこちらへ。