OpenClaw ACP連携ガイド:外部コーディングツールを統合する
効率的なオペレーターのフロー
Section titled “効率的なオペレーターのフロー”実用的な /acp ランブックが必要な場合は、こちらの手順を参考にしてください。
- セッションを開始する:
/acp spawn codex --mode persistent --thread auto
- 紐づけられたスレッドで作業を進める(または、そのセッションキーを明示的に指定する)。
- ランタイムの状態を確認する:
/acp status
- 必要に応じてランタイムオプションを調整する:
/acp model <provider/model>/acp permissions <profile>/acp timeout <seconds>
- コンテキストを置き換えずに、アクティブなセッションを微調整する:
/acp steer tighten logging and continue
- 作業を停止する:
/acp cancel(現在のターンを停止)/acp close(セッションを閉じ、紐づけを解除)
ユーザー向けクイックスタート
Section titled “ユーザー向けクイックスタート”自然な言葉でのリクエスト例を紹介します。
- 「ここで Codex の persistent セッションをスレッドで開始して、集中させて。」
- 「これを Claude Code の ACP セッションとしてワンショットで実行して、結果を要約して。」
- 「このタスクには Gemini CLI をスレッドで使用して。その後のフォローアップも同じスレッドで続けて。」
OpenClaw は以下の処理を行います。
runtime: "acp"を選択します。- リクエストされたハーネスのターゲット(
agentId、例:codex)を解決します。 - スレッドの紐づけがリクエストされ、現在のチャネルがそれをサポートしている場合、ACP セッションをスレッドに紐づけます。
- フォーカスが外れる、閉じる、または期限切れになるまで、そのスレッドのフォローアップメッセージを同じ ACP セッションにルーティングします。
ACP とサブエージェントの比較
Section titled “ACP とサブエージェントの比較”外部のハーネスランタイムを使用したい場合は ACP を使用してください。OpenClaw ネイティブの委任実行を行いたい場合はサブエージェントを使用してください。
| 項目 | ACP セッション | サブエージェントの実行 |
|---|---|---|
| Runtime | ACP backend plugin (例: acpx) | OpenClaw native sub-agent runtime |
| Session key | agent:<agentId>:acp:<uuid> | agent:<agentId>:subagent:<uuid> |
| Main commands | /acp ... | /subagents ... |
| Spawn tool | sessions_spawn with runtime:"acp" | sessions_spawn (default runtime) |
Sub-agents も参照してください。
スレッドに紐づいたセッション(チャネルに依存しない)
Section titled “スレッドに紐づいたセッション(チャネルに依存しない)”チャネルアダプターでスレッドの紐づけが有効になっている場合、ACP セッションをスレッドに紐づけることができます。
- OpenClaw はスレッドをターゲットの ACP セッションに紐づけます。
- そのスレッドでのフォローアップメッセージは、紐づけられた ACP セッションにルーティングされます。
- ACP の出力は同じスレッドに返されます。
- フォーカス解除、クローズ、アーカイブ、アイドルタイムアウト、または最大期間(max-age)の経過によって紐づけが解除されます。
スレッド紐づけのサポートはアダプターによって異なります。アクティブなチャネルアダプターがスレッド紐づけをサポートしていない場合、OpenClaw はサポートされていない旨の明確なメッセージを返します。
スレッド紐づけされた ACP に必要な機能フラグ:
acp.enabled=trueacp.dispatch.enabledはデフォルトでオンです(ACP のディスパッチを一時停止するにはfalseに設定します)。- チャネルアダプターの ACP スレッド開始フラグが有効であること(アダプター固有)
- Discord:
channels.discord.threadBindings.spawnAcpSessions=true - Telegram:
channels.telegram.threadBindings.spawnAcpSessions=true
- Discord:
スレッドをサポートするチャネル
Section titled “スレッドをサポートするチャネル”- セッションやスレッドの紐づけ機能を提供するすべてのチャネルアダプター。
- 現在の組み込みサポート:
- Discord のスレッドとチャネル
- Telegram のトピック(グループやスーパーグループ内のフォーラムトピック、および DM トピック)
- プラグインチャネルも、同じ紐づけインターフェースを通じてサポートを追加できます。
チャネル固有の設定
Section titled “チャネル固有の設定”非エフェメラル(永続的)なワークフローを構築する場合は、トップレベルの bindings[] エントリで永続的な ACP バインディングを設定しましょう。
バインディングモデル
Section titled “バインディングモデル”bindings[].type="acp"は、永続的な ACP 会話バインディングであることを示します。bindings[].matchでターゲットとなる会話を特定します:- Discord のチャネルまたはスレッド:
match.channel="discord"+match.peer.id="<channelOrThreadId>" - Telegram のフォーラムトピック:
match.channel="telegram"+match.peer.id="<chatId>:topic:<topicId>"
- Discord のチャネルまたはスレッド:
bindings[].agentIdは、所有する OpenClaw エージェントの ID です。- 任意で指定できる ACP のオーバーライド設定は
bindings[].acpの下に配置します:mode(persistentまたはoneshot)labelcwdbackend
エージェントごとの Runtime デフォルト設定
Section titled “エージェントごとの Runtime デフォルト設定”agents.list[].runtime を使用すると、エージェントごとに一度だけ ACP のデフォルト値を定義できます:
agents.list[].runtime.type="acp"agents.list[].runtime.acp.agent(Harness ID。例:codexやclaude)agents.list[].runtime.acp.backendagents.list[].runtime.acp.modeagents.list[].runtime.acp.cwd
ACP バインド済みセッションにおけるオーバーライドの優先順位は以下の通りです:
bindings[].acp.*agents.list[].runtime.acp.*- グローバルな ACP デフォルト設定(例:
acp.backend)
設定例:
{ agents: { list: [ { id: "codex", runtime: { type: "acp", acp: { agent: "codex", backend: "acpx", mode: "persistent", cwd: "/workspace/openclaw", }, }, }, { id: "claude", runtime: { type: "acp", acp: { agent: "claude", backend: "acpx", mode: "persistent" }, }, }, ], }, bindings: [ { type: "acp", agentId: "codex", match: { channel: "discord", accountId: "default", peer: { kind: "channel", id: "222222222222222222" }, }, acp: { label: "codex-main" }, }, { type: "acp", agentId: "claude", match: { channel: "telegram", accountId: "default", peer: { kind: "group", id: "-1001234567890:topic:42" }, }, acp: { cwd: "/workspace/repo-b" }, }, { type: "route", agentId: "main", match: { channel: "discord", accountId: "default" }, }, { type: "route", agentId: "main", match: { channel: "telegram", accountId: "default" }, }, ], channels: { discord: { guilds: { "111111111111111111": { channels: { "222222222222222222": { requireMention: false }, }, }, }, }, telegram: { groups: { "-1001234567890": { topics: { "42": { requireMention: false } }, }, }, }, },}動作の仕組み:
- OpenClaw は、使用前に設定された ACP セッションが存在することを確認します。
- そのチャネルやトピック内のメッセージは、設定された ACP セッションにルーティングされます。
- バインドされた会話内では、
/newや/resetを実行すると、同じ ACP セッションキーがその場でリセットされます。 - スレッドフォーカスフローなどによって作成された一時的な Runtime バインディングがある場合は、そちらが優先して適用されます。
ACP セッションの開始(インターフェース)
Section titled “ACP セッションの開始(インターフェース)”sessions_spawn からの開始
Section titled “sessions_spawn からの開始”エージェントのターンや Tool Call から ACP セッションを開始するには、runtime: "acp" を使用します。
{ "task": "Open the repo and summarize failing tests", "runtime": "acp", "agentId": "codex", "thread": true, "mode": "session"}注意点:
runtimeのデフォルトはsubagentなので、ACP セッションの場合は明示的にruntime: "acp"を指定してください。agentIdを省略した場合、設定されていれば OpenClaw はacp.defaultAgentを使用します。mode: "session"を使用する場合、永続的なバインド会話を維持するためにthread: trueが必要です。
インターフェースの詳細:
task(必須):ACP セッションに送信される初期プロンプト。runtime(ACP の場合は必須):"acp"を指定する必要があります。agentId(任意):ACP ターゲットの Harness ID。未指定の場合はacp.defaultAgentにフォールバックします。thread(任意、デフォルトはfalse):サポートされている環境でスレッドバインディングフローをリクエストします。mode(任意):run(ワンショット)またはsession(永続的)。- デフォルトは
runです。 thread: trueでmodeが省略された場合、Runtime パスによってはデフォルトで永続的な動作になることがあります。mode: "session"にはthread: trueが必須です。
- デフォルトは
cwd(任意):リクエストする Runtime の作業ディレクトリ(Backend や Runtime ポリシーによって検証されます)。label(任意):セッションやバナーテキストで使用されるオペレーター向けのラベル。resumeSessionId(任意):新しいセッションを作成する代わりに、既存の ACP セッションを再開します。エージェントはsession/loadを介して会話履歴をリプレイします。これにはruntime: "acp"が必要です。streamTo(任意):"parent"を指定すると、初期の ACP 実行の進捗サマリーがシステムイベントとしてリクエスターセッションにストリーミングされます。- 利用可能な場合、レスポンスにはセッションスコープの JSONL ログ(
<sessionId>.acp-stream.jsonl)を指すstreamLogPathが含まれ、これを tail することで完全なリレー履歴を確認できます。
- 利用可能な場合、レスポンスにはセッションスコープの JSONL ログ(
既存セッションの再開
Section titled “既存セッションの再開”新しく開始するのではなく、以前の ACP セッションを継続したい場合は resumeSessionId を使いましょう。エージェントが session/load を通じて会話履歴を再現するため、以前のコンテキストをすべて引き継いだ状態で再開できます。
{ "task": "Continue where we left off — fix the remaining test failures", "runtime": "acp", "agentId": "codex", "resumeSessionId": "<previous-session-id>"}よくあるユースケース:
- ノート PC で行っていた Codex セッションをスマホに引き継ぎ、エージェントに続きを指示する。
- CLI でインタラクティブに開始したコーディングセッションを、エージェント経由でヘッドレスに継続する。
- Gateway の再起動やアイドルタイムアウトで中断された作業を再開する。
注意点:
resumeSessionIdはruntime: "acp"を必要とします。Sub-agent Runtime で使用するとエラーになります。resumeSessionIdはアップストリームの ACP 会話履歴を復元しますが、threadやmodeは新しく作成される OpenClaw セッションに対して通常通り適用されます。そのため、mode: "session"には引き続きthread: trueが必要です。- ターゲットとなるエージェントが
session/loadをサポートしている必要があります(Codex や Claude Code はサポートしています)。 - セッション ID が見つからない場合、spawn は明確なエラーで失敗します。新しいセッションへのサイレントなフォールバックは行われません。
オペレーターによる疎通確認(Smoke Test)
Section titled “オペレーターによる疎通確認(Smoke Test)”Gateway をデプロイした後、ACP の起動がユニットテストだけでなくエンドツーエンドで実際に動作しているか素早く確認したい場合に、この手順を推奨します。
推奨される確認手順:
- ターゲットホスト上のデプロイされた Gateway のバージョン/コミットを確認します。
- デプロイされたソースの
src/gateway/sessions-patch.tsに ACP 系統の受け入れ(subagent:* or acp:* sessions)が含まれていることを確認します。 - 稼働中のエージェント(例:
jpclawhq上のrazor(main))への一時的な ACPX ブリッジセッションを開きます。 - そのエージェントに、以下の内容で
sessions_spawnを呼び出すよう依頼します:runtime: "acp"agentId: "codex"mode: "run"- task:
Reply with exactly LIVE-ACP-SPAWN-OK
- エージェントが以下の内容を報告することを確認します:
accepted=yes- 実際の
childSessionKey - バリデーターエラーがないこと
- 一時的な ACPX ブリッジセッションをクリーンアップします。
稼働中のエージェントへのプロンプト例:
Use the sessions_spawn tool now with runtime: "acp", agentId: "codex", and mode: "run".Set the task to: "Reply with exactly LIVE-ACP-SPAWN-OK".Then report only: accepted=<yes/no>; childSessionKey=<value or none>; error=<exact text or none>.注意点:
- スレッドにバインドされた永続的な ACP セッションを意図的にテストする場合を除き、この疎通確認では
mode: "run"を使用してください。 - 基本的な確認において
streamTo: "parent"は必須ではありません。そのパスはリクエスターやセッションの機能に依存するため、別の統合チェック項目として扱います。 - スレッドバインドされた
mode: "session"のテストは、実際の Discord スレッドや Telegram トピックからの、より詳細な第 2 段階の統合テストとして実施してください。
Sandbox の互換性
Section titled “Sandbox の互換性”現在、ACP セッションは OpenClaw の Sandbox 内ではなく、ホストの Runtime 上で動作します。
現在の制限事項:
- リクエスターセッションが Sandbox 化されている場合、
sessions_spawn({ runtime: "acp" })と/acp spawnの両方で ACP の起動がブロックされます。- エラー内容:
Sandboxed sessions cannot spawn ACP sessions because runtime="acp" runs on the host. Use runtime="subagent" from sandboxed sessions.
- エラー内容:
runtime: "acp"を指定したsessions_spawnでは、sandbox: "require"をサポートしていません。- エラー内容:
sessions_spawn sandbox="require" is unsupported for runtime="acp" because ACP sessions run outside the sandbox. Use runtime="subagent" or sandbox="inherit".
- エラー内容:
Sandbox による実行強制が必要な場合は、runtime: "subagent" を使用してください。
/acp コマンドからの実行
Section titled “/acp コマンドからの実行”必要に応じて、チャットからオペレーターが明示的に制御するために /acp spawn を使用できます。
/acp spawn codex --mode persistent --thread auto/acp spawn codex --mode oneshot --thread off/acp spawn codex --thread here主なフラグ:
--mode persistent|oneshot--thread auto|here|off--cwd <absolute-path>--label <name>
詳細は Slash Commands を参照してください。
セッションターゲットの解決
Section titled “セッションターゲットの解決”ほとんどの /acp アクションは、任意のセッションターゲット(session-key、session-id、または session-label)を受け入れます。
解決の優先順位は以下の通りです:
- 明示的なターゲット引数(または
/acp steerの場合は--session)- まずキーを試行
- 次に UUID 形式のセッション ID を試行
- 最後にラベルを試行
- 現在のスレッドバインディング(この会話/スレッドが ACP セッションにバインドされている場合)
- 現在のリクエスターセッションへのフォールバック
ターゲットが解決できない場合、OpenClaw は明確なエラー(Unable to resolve session target: ...)を返します。
スレッドの起動モード
Section titled “スレッドの起動モード”/acp spawn では --thread auto|here|off を指定できます。
| モード | 挙動 |
|---|---|
auto | アクティブなスレッド内ではそのスレッドにバインドします。スレッド外では、サポートされている場合に子スレッドを作成してバインドします。 |
here | 現在アクティブなスレッドであることを要求します。スレッド内にいない場合は失敗します。 |
off | バインドを行いません。セッションはバインドされていない状態で開始されます。 |
注意点:
- スレッドバインドに対応していない環境では、デフォルトの挙動は実質的に
offとなります。 - スレッドにバインドした起動を行うには、以下のチャンネルポリシーのサポートが必要です:
- Discord:
channels.discord.threadBindings.spawnAcpSessions=true - Telegram:
channels.telegram.threadBindings.spawnAcpSessions=true
- Discord:
ACP コントロール
Section titled “ACP コントロール”利用可能なコマンドファミリーは以下の通りです:
/acp spawn/acp cancel/acp steer/acp close/acp status/acp set-mode/acp set/acp cwd/acp permissions/acp timeout/acp model/acp reset-options/acp sessions/acp doctor/acp install
/acp status は、有効なランタイムオプションを表示します。また、利用可能な場合は、ランタイムレベルとバックエンドレベルの両方のセッション識別子も表示されます。
一部のコントロールはバックエンドの機能に依存しています。バックエンドがコントロールをサポートしていない場合、OpenClaw は明確な unsupported-control エラーを返します。
ACP コマンドクックブック
Section titled “ACP コマンドクックブック”開発現場でよく使う ACP コマンドをまとめました。セッションの開始から設定の変更まで、これらのコマンドを活用することで効率的に作業を進められます。
| コマンド | 説明 | 例 |
|---|---|---|
/acp spawn | ACP セッションを作成します。オプションでスレッドのバインドも可能です。 | /acp spawn codex --mode persistent --thread auto --cwd /repo |
/acp cancel | ターゲットセッションの実行中のターンをキャンセルします。 | /acp cancel agent:codex:acp:<uuid> |
/acp steer | 実行中のセッションに指示を送信します。 | /acp steer --session support inbox prioritize failing tests |
/acp close | セッションを閉じ、スレッドのターゲットを解除します。 | /acp close |
/acp status | バックエンド、モード、状態、ランタイムオプション、機能を表示します。 | /acp status |
/acp set-mode | ターゲットセッションのランタイムモードを設定します。 | /acp set-mode plan |
/acp set | 汎用的なランタイム設定オプションを書き込みます。 | /acp set model openai/gpt-5.2 |
/acp cwd | ランタイムの作業ディレクトリ(CWD)の上書きを設定します。 | /acp cwd /Users/user/Projects/repo |
/acp permissions | 承認ポリシーのプロファイルを設定します。 | /acp permissions strict |
/acp timeout | ランタイムのタイムアウト(秒)を設定します。 | /acp timeout 120 |
/acp model | ランタイムのモデルの上書きを設定します。 | /acp model anthropic/claude-opus-4-5 |
/acp reset-options | セッションのランタイムオプションの上書きを削除します。 | /acp reset-options |
/acp sessions | 保存されている最近の ACP セッションを一覧表示します。 | /acp sessions |
/acp doctor | バックエンドの状態、機能、および具体的な修正方法を表示します。 | /acp doctor |
/acp install | 確実なインストールと有効化の手順を表示します。 | /acp install |
Runtime options のマッピング
Section titled “Runtime options のマッピング”/acp には、特定の操作を行うための便利な専用コマンドと、汎用的な設定コマンド(setter)が用意されています。
以下は、それぞれ同等の操作としてマッピングされています。
/acp model <id>は、ランタイム設定のmodelキーにマッピングされます。/acp permissions <profile>は、ランタイム設定のapproval_policyキーにマッピングされます。/acp timeout <seconds>は、ランタイム設定のtimeoutキーにマッピングされます。/acp cwd <path>は、ランタイムの cwd 上書きを直接更新します。/acp set <key> <value>は汎用的な設定パスです。- 特殊なケース:
key=cwdの場合は、cwd 上書きパスが使用されます。
- 特殊なケース:
/acp reset-optionsは、ターゲットセッションのすべてのランタイム上書きをクリアします。
acpx ハーネスのサポート(現在)
Section titled “acpx ハーネスのサポート(現在)”現在、acpx に組み込まれているハーネスのエイリアスは以下の通りです:
piclaudecodexopencodegeminikimi
OpenClaw で acpx バックエンドを使用する場合、acpx の設定でカスタムのエイリアスを定義していない限り、agentId にはこれらの値を使用することをおすすめします。
acpx CLI を直接使用して --agent <command> により任意のアダプターを指定することも可能ですが、そのエスケープハッチは acpx CLI 独自の機能であり、通常の OpenClaw における agentId の指定方法とは異なります。
コアとなる ACP の基本設定は以下の通りです:
{ acp: { enabled: true, // Optional. Default is true; set false to pause ACP dispatch while keeping /acp controls. dispatch: { enabled: true }, backend: "acpx", defaultAgent: "codex", allowedAgents: ["pi", "claude", "codex", "opencode", "gemini", "kimi"], maxConcurrentSessions: 8, stream: { coalesceIdleMs: 300, maxChunkChars: 1200, }, runtime: { ttlMinutes: 120, }, },}スレッドバインドの設定は、チャンネルアダプターごとに異なります。以下は Discord の例です:
{ session: { threadBindings: { enabled: true, idleHours: 24, maxAgeHours: 0, }, }, channels: { discord: { threadBindings: { enabled: true, spawnAcpSessions: true, }, }, },}もしスレッドに紐付いた ACP の起動がうまく動作しない場合は、まずアダプターの機能フラグを確認してみてください:
- Discord:
channels.discord.threadBindings.spawnAcpSessions=true
詳細は Configuration Reference をご確認ください。
acpx バックエンドのプラグイン設定
Section titled “acpx バックエンドのプラグイン設定”プラグインをインストールして有効化するには、以下のコマンドを実行します。
openclaw plugins install acpxopenclaw config set plugins.entries.acpx.enabled true開発中にローカルのワークスペースからインストールする場合は、こちらを使用してください。
openclaw plugins install ./extensions/acpxインストール後、バックエンドが正常に動作しているか確認します。
/acp doctoracpx コマンドとバージョンの設定
Section titled “acpx コマンドとバージョンの設定”デフォルトでは、acpx プラグイン(@openclaw/acpx として公開)は、プラグイン内に固定(ピン留め)されたバイナリを使用します。
- コマンドのデフォルトは
extensions/acpx/node_modules/.bin/acpxです。 - 期待されるバージョンは、拡張機能で固定されたバージョンがデフォルトになります。
- 起動時、ACP バックエンドは即座に「準備未完了(not-ready)」として登録されます。
- バックグラウンドの確認ジョブが
acpx --versionを検証します。 - プラグインローカルのバイナリがない、またはバージョンが一致しない場合は、
npm install --omit=dev --no-save acpx@<pinned>を実行して再検証します。
プラグインの設定で、コマンドやバージョンを上書きすることもできます。
{ "plugins": { "entries": { "acpx": { "enabled": true, "config": { "command": "../acpx/dist/cli.js", "expectedVersion": "any" } } } }}注意点:
commandには絶対パス、相対パス、またはコマンド名(acpx)を指定できます。- 相対パスは OpenClaw のワークスペースディレクトリから解決されます。
expectedVersion: "any"を指定すると、厳密なバージョンマッチングが無効になります。commandがカスタムバイナリやパスを指している場合、プラグインローカルの自動インストールは無効になります。- バックエンドのヘルスチェック実行中も、OpenClaw の起動はブロックされません。
詳細は Plugins を参照してください。
ACP セッションは非対話形式で実行されます。ファイルの書き込みやシェル実行の許可を求めるプロンプトが表示されても、それを承認または拒否するための TTY が存在しません。acpx プラグインでは、権限の扱いを制御するために 2 つの設定キーを提供しています。
permissionMode
Section titled “permissionMode”エージェントがプロンプトを表示せずに実行できる操作を制御します。
| 値 | 挙動 |
|---|---|
approve-all | すべてのファイル書き込みとシェルコマンドを自動承認します。 |
approve-reads | 読み取りのみを自動承認します。書き込みと実行にはプロンプトが必要です。 |
deny-all | すべての権限プロンプトを拒否します。 |
nonInteractivePermissions
Section titled “nonInteractivePermissions”対話型の TTY が利用できない状況で、権限プロンプトが表示されそうになった時の挙動を制御します(ACP セッションでは常にこの状況に該当します)。
| 値 | 挙動 |
|---|---|
fail | AcpRuntimeError を発生させてセッションを中断します。(デフォルト) |
deny | 権限を暗黙的に拒否して続行します(段階的な機能制限)。 |
プラグインの設定から変更できます。
openclaw config set plugins.entries.acpx.config.permissionMode approve-allopenclaw config set plugins.entries.acpx.config.nonInteractivePermissions failこれらの値を変更した後は、Gateway を再起動してください。
重要: 現在、OpenClaw のデフォルト設定は
permissionMode=approve-readsかつnonInteractivePermissions=failです。非対話型の ACP セッションでは、権限プロンプトをトリガーする書き込みや実行を行うと、AcpRuntimeError: Permission prompt unavailable in non-interactive modeで失敗する可能性があります。権限を制限する必要がある場合は、セッションがクラッシュする代わりに適切に機能を制限して続行できるよう、
nonInteractivePermissionsをdenyに設定してください。
トラブルシューティング
Section titled “トラブルシューティング”| 症状 | 考えられる原因 | 解決策 |
|---|---|---|
ACP runtime backend is not configured | バックエンドプラグインがない、または無効になっている。 | バックエンドプラグインをインストールして有効化し、/acp doctor を実行してください。 |
ACP is disabled by policy (acp.enabled=false) | ACP がグローバルで無効化されている。 | acp.enabled=true を設定してください。 |
ACP dispatch is disabled by policy (acp.dispatch.enabled=false) | 通常のスレッドメッセージからのディスパッチが無効化されている。 | acp.dispatch.enabled=true を設定してください。 |
ACP agent "<id>" is not allowed by policy | エージェントが許可リストに含まれていない。 | 許可されている agentId を使用するか、acp.allowedAgents を更新してください。 |
Unable to resolve session target: ... | キー、ID、またはラベルトークンが正しくない。 | /acp sessions を実行し、正確なキーまたはラベルをコピーして再試行してください。 |
--thread here requires running /acp spawn inside an active ... thread | スレッドコンテキストの外で --thread here が使用された。 | 対象のスレッドに移動するか、--thread auto または off を使用してください。 |
Only <user-id> can rebind this thread. | 他のユーザーがスレッドのバインドを所有している。 | 所有者として再バインドするか、別のスレッドを使用してください。 |
Thread bindings are unavailable for <channel>. | アダプターがスレッドバインド機能に対応していない。 | --thread off を使用するか、サポートされているアダプターやチャネルに移動してください。 |
Sandboxed sessions cannot spawn ACP sessions ... | ACP ランタイムがホスト側で実行されており、リクエスタセッションがサンドボックス化されている。 | サンドボックス化されたセッションから runtime="subagent" を使用するか、非サンドボックスセッションから ACP spawn を実行してください。 |
sessions_spawn sandbox="require" is unsupported for runtime="acp" ... | ACP ランタイムに対して sandbox="require" がリクエストされた。 | サンドボックス化が必要な場合は runtime="subagent" を使用するか、非サンドボックスセッションから sandbox="inherit" で ACP を使用してください。 |
| バインドされたセッションの ACP メタデータが見つからない | ACP セッションのメタデータが古い、または削除されている。 | /acp spawn で再作成し、スレッドを再バインドまたはフォーカスしてください。 |
AcpRuntimeError: Permission prompt unavailable in non-interactive mode | permissionMode が非対話型 ACP セッションでの書き込みや実行をブロックしている。 | plugins.entries.acpx.config.permissionMode を approve-all に設定し、Gateway を再起動してください。詳細は権限の設定を参照してください。 |
| ACP セッションがほとんど出力を出さずに早期終了する | 権限プロンプトが permissionMode または nonInteractivePermissions によってブロックされている。 | Gateway のログで AcpRuntimeError を確認してください。フル権限を与えるには permissionMode=approve-all を、段階的な機能制限を許容するには nonInteractivePermissions=deny を設定してください。 |
| 処理完了後も ACP セッションが無期限に停止(スタール)する | Harness プロセスは終了したが、ACP セッションが完了を報告しなかった。 | ps aux | grep acpx で監視し、残っているプロセスを手動で終了させてください。 |
OpenClaw Expert
まだ解決しませんか?
このページで解決しない場合は、OpenClaw Expertに直接質問してください。