Code Remote

コーディングエージェント

コンピューター上のすべての Claude Code セッションを iPhone で追い、権限の確認や質問にそこから回答し、対応が必要なときは通知を受け取れます。

Agents タブと通知は Code Remote Pro の一部で、コンピューターに最近の coderemote が必要です。アプリが求めたら、coderemote update を実行して coderemote up を起動し直してください。

セットアップ

Claude Code をインストール済みのコンピューターで、1 回だけ:

$ coderemote setup claude

これで Code Remote プラグインが Claude Code にインストールされます(Claude Code 内での /plugin install coderemote --marketplace CodeRemoteApp/coderemote と同じ)。その後、coderemote up で共有したフォルダで開始した Claude Code のセッションが、アプリに表示されます。すでに動いているセッションは、再起動すると表示されます。元に戻すには: coderemote setup claude --remove。

coderemote が動いていないとき、またはセッションのフォルダが共有されていないときは、プラグインは何もしません。そのとき Claude Code は、プラグインがない場合とまったく同じに動きます。

Codex

Codex 0.139 以降でも使えます:

$ coderemote setup codex

次に Codex を一度開き、/hooks と入力して Code Remote の hook を信頼します。Codex はプラグインの hook を、確認した後でしか実行しません。Codex のセッションは Agents タブに Codex のラベル付きで表示されます。

1 つ違いがあります。Codex は、hook が身を引いた後にだけ自分の承認確認を表示します。そのため、コンピューターを使っている間(またはアプリでそのマシンを開いている間)は、Codex はいつもどおりターミナルで尋ね、アプリには「Answer on your computer」と表示されます。席を離れているときは、リクエストは通知付きで iPhone を最大 10 分待ち、その後 Codex がターミナルで尋ねます。Codex には hook からの「常に許可」はありません。

Agents タブ

マシン上のセッションを、Needs You(回答待ち)、Working、Idle、Ended に分けて一覧表示します。タブには、あなたの対応が必要な数が表示されます。セッションを開くと、プロンプト、Claude の返信、実行した各ツールなど、何をしたかが分かります。コマンドは出力付き、ファイルの編集は変更された行として表示され(タップで変更全体またはファイルを表示)、読み取りはファイルを開きます。

アプリのターミナルで開始したセッションには Open in Terminal があり、直接入力できます。コンピューターで開始したセッションも同じタイムラインで表示されます。

セッションは coderemote のメモリ上にあります。coderemote up を止めると一覧は消え、終了したセッションは 1 日後に消えます。

iPhone から回答する

Claude が何かを実行する許可を求めたり、質問したりすると、セッションの下部にカードが表示されます:

  • Allow または Deny。⋯ メニューには、コンピューターの Claude Code と同じ「常に許可」の選択肢があり、Deny with Message で代わりにしてほしいことを Claude に伝えられます。
  • 質問には、回答をタップするか、Other… で自分で入力します。

確認はコンピューター側でも開いたままです。先に答えたほうが優先されます。コンピューターで答えれば、iPhone のカード(と通知)は消えます。iPhone から 1 時間以内に誰も答えない確認は、コンピューターに任されます。

セッションの開始と操作

Agents タブの + をタップして、コンピューターでコーディングエージェントを開始します。Agent(Claude Code、設定済みなら Codex)と Folder を選びます。共有フォルダが開くので、サブフォルダに入り、名前で絞り込み、Use This Folder をタップします。その後:

  • Claude Code では、モデルと、権限の確認方法(Ask First、Accept Edits、Plan Only、Auto)を選びます。
  • Codex では、Codex 自身が提供するモデルから選び(Default は Codex の設定にあるもの)、Ask before running outside the sandbox を許可するかを決めます。オフにすると、Codex は sandbox が許さないことを、確認せずに拒否します。

セッションはアプリのターミナル内で動くので、セッションのメッセージ欄から入力できます:

  • プロンプトを書いて送信します。Claude の作業中に送ったものは、コンピューターの前にいるときと同じく順番を待ちます。Stop で中断できます(Esc と同じ)。
  • + で写真、動画、ファイル、カメラで撮った写真、コピーした画像を添付できます。これらはコンピューターの ~/.coderemote/uploads/(プロジェクトの外、1 週間後に削除)に送られ、Claude は画像を画像として見ます。他のファイルはパスが渡されます。
  • ⚡ メニューには Next Permission Mode(Shift+Tab)、/compact、/clear、/model、Open in Terminal があります(Codex には切り替える権限モードも /clear もありません)。ターミナルでは、… メニューの Chat で戻れます。
  • 終了したセッションには Resume Here があり、新しいターミナルで会話を続けられます。

コンピューターのターミナルで開始したセッションは、ここで追跡して回答できますが、アプリのターミナルではないため入力はできません。終了したら、ここで再開してください。

通知

コンピューターごとに、マシン情報(マシン一覧で長押し、またはタブのメニューの Machine Info)でオンにします: 回答が必要なときと長いタスクが終わったとき(1 分以上かかったもの)。テストボタンもあります。

権限の通知を長押しすると、アプリを開かずに(Face ID の後で)許可または拒否できます。単一の質問も同じ方法で回答できます。コンピューターを使っている間(Mac の場合)や、アプリでそのマシンを開いている間は何も送信されません。

仕組み

プラグインは Claude Code のイベント(プロンプト、ツール呼び出し、返信、権限の確認)ごとに coderemote hook を実行します。イベントは、同じコンピューター上でそのセッションのフォルダを共有している coderemote に、外に出ることのない秘密情報で認証されて渡されます。権限の確認は、Claude Code が通常どおり自分の確認を表示している間も、iPhone からの回答をそこで待ちます。

通知はコンピューターから、アプリの Apple プッシュキーを付加するリレーを通って届きます。内容は iPhone 向けに暗号化されているため、リレーも Apple も読むことはできず、リレーは何も保存しません。プライバシーポリシーをご覧ください。