「承認待ち」で止まる問題を解決:Claude Code、Codex、OpenCode の権限プロンプト対策(完全な YOLO にせずに)

本当の承認待ちなのか、設定が反映されていないのか、UI や接続の問題なのかを見分ける実践的な方法と、セッションを安全に進め続けるコツ。

対象バージョン
CLI
0.2.17
プレビュー ref
a2c45c8

Claude Code、Codex、OpenCode で大きく時間を失う原因は、クラッシュではありません。

こういう場面です。

セッションを開始し、動いているのを確認して席を離れる。戻ってくると、次のような表示が出ている。

  • 「waiting for approval」(承認待ち)
  • 「needs permission」(権限が必要)
  • 「waiting for input」(入力待ち)

ターミナルの前にいれば、たいてい 5 秒で済む判断です。

スマホからだと(あるいは何をしていたか忘れたあとだと)、次のどちらかになりがちです。

  • 承認するつもりのなかったものを承認してしまう
  • 気づかずに 1 時間何もしない

このガイドはその中間を扱います。

承認を「完全な YOLO」にせず、セッションを進め続ける。

要点

  1. まず、どの種類の「承認」なのかを見極めます。
    • 本当の権限プロンプト(想定どおり)
    • 設定が反映されていない 問題(よくある)
    • UI や接続 の問題(これもよくある)
  2. Codex を使っているなら、承認設定のレイヤーとプロジェクトの信頼設定を確認します。
  3. スマホからなら、承認する前にリクエストを 文脈の中で 表示できる UI でセッションを開くのが安全です。
  4. Happier はその助けになる選択肢のひとつです。承認や権限リクエストは消えずに受信箱(Inbox)に残り、通知をタップすると正しいセッションとサーバーに直接移動します。

課題(わかりやすく)

承認は安全のための境界線です。

問題は「承認があること」ではありません。承認が次のような状態になることです。

  • 見えない(気づかなかった)
  • あいまい(何を承認するのかわからない)
  • 一貫しない(設定を変えたのにまだ聞かれる)

そしてこの 3 つは、スマホではさらに悪化します。

よくある方法とそのトレードオフ

  • すべてオフにする(YOLO /「never ask」):速いですが、疲れているときは危険です。
  • 終わるまでターミナルの前にいる:安全ですが、長いセッションを走らせる意味がなくなります。
  • スマホから SSH する:動きますが、小さなターミナルで承認内容を確認するのはつらい作業です。

承認を明示的にし、スマホから確認できるようにしたいなら、Happier は Claude Code、Codex、OpenCode などのエージェントをクロスデバイスで実行・オーケストレーションできるオープンソースのアプリです。

Happier を初めて使う場合(概要と入手方法)

Happier は、Claude Code、Codex、OpenCode などのセッション向けの オープンソースのコンパニオンアプリ(モバイル / Web / デスクトップ)です。

ワークフローは、信頼できるマシンでセッションを動かしたまま、スマホの Happier から文脈つきで承認を確認するというものです。

セットアップ:

ステップ 1:「承認」を分類する

ケース A:本当の権限プロンプト

これは健全なケースです。セッションが副作用のある操作をしようとしています。

Happier を使っている場合、権限モードはまさに確認の頻度を調整するためにあります。

  • デフォルト(Default)
  • 読み取り専用(Read-only)
  • セーフYOLO(Safe YOLO)(読み取りは自動で許可し、書き込みの前に確認)
  • YOLO(プロバイダーが許す範囲で確認を省略)

すべてのプロバイダーがすべてのモードに対応しているわけではありません。Happier は実際に適用されるポリシーを表示します。

ケース B:設定が反映されていない(Codex でよくある例)

Codex には設定のレイヤー構造があります。

何かを変更したのに変化がない場合、よくある原因は次のとおりです。

  • 間違った場所の設定ファイルを編集した
  • 優先度の高いレイヤーで設定が上書きされている
  • プロジェクトが信頼されていないため、プロジェクトの設定が読み込まれていない
  • 組織のポリシーで制約がかかっている

Codex のドキュメントでは、次のように説明されています。

  • ユーザー設定は ~/.codex/config.toml
  • プロジェクト単位の設定と「信頼」による制御
  • approval_policy や sandbox_mode といった設定項目

大きな手がかり:「never ask」と書いた設定を共有しているのにまだ聞かれる、という報告を見かけたら、それはあなたの勘違いではありません。まさにそう見える環境固有のバグがあります。

ケース C:UI は正常だが接続が切れている

セッションは待っているのに、古いストリームを見ていることがあります。

マシンがスリープしたり、ネットワークを切り替えたりすると、次の状態になることがあります。

  • セッションはブロックされている
  • でもプロンプトが見えない

この場合の「解決策」は、再接続して正しいセッションを開くことです。

ステップ 2:リスクに合ったワークフローを選ぶ

役立つルール:

  • 実際の副作用がある操作(書き込みやインストール)を承認する前に、次を確認する。
    • 何をしようとしているか
    • どこでしようとしているか
    • 最近何が変わったか

だからこそ、スマホで使いやすい UI が重要です。

Happier のワークフロー(承認を明示的にしたい場合)

Happier は「あなたの対応が必要なもの」を実際のデータとして扱います。

  • 全体の受信箱(Inbox)
  • 承認リクエスト
  • 権限リクエスト
  • ユーザーアクションのリクエスト(「Exit Plan Mode」など)

画面を移動しても消えないことが重要です。見逃したモーダルではありません。

モバイルでは、通知のルーティングも厳格です。

  • 正しいセッションに直接移動する
  • 不明なサーバーでの自動承認を避ける

トラブルシューティング

approval_policy = "never" に設定したのにまだ聞かれる

次のどちらかとして扱います。

  • 信頼設定や設定レイヤーの不一致
  • 環境固有のクライアントのバグ

試すこと:

  • どの設定レイヤーが読み込まれているか確認する
  • 同じセッションを別の環境(WSL / VM)で試す
  • ツールを更新する(この種の問題は告知なく修正されることがよくあります)

スマホにプロンプトが表示されない

たいていは次のどちらかです。

  • 通知のルーティングやサーバープロファイルの不一致
  • 実際にプロンプトが出ているセッションを開いていない

複数のセッションを見て回るのではなく、ひとつの「対応リスト」(受信箱)を使いましょう。

関連ガイド

mobilepermissionsapprovalsclaudecodexopencodetroubleshooting
最終更新: 2026-10-26