{
  "schemaVersion": 1,
  "reviewedAt": "2026-09-30",
  "slug": "openclaw",
  "name": "OpenClaw",
  "category": "CLI + ACP preview",
  "headline": "OpenClaw × Scout",
  "summary": "Run OpenClaw and Scout on the same Linux VM. OpenClaw can call the installed Scout CLI, while a preview session adapter drives OpenClaw through ACP locally or over SSH. Fresh replies, follow-ups, and reconnection have been verified.",
  "status": "OpenClaw → Scout → Codex: verified round trip · Scout → OpenClaw: session-library preview",
  "marketplace": "No OpenClaw Scout plugin or marketplace installation is required for the CLI path. The downloadable smoke test is a development adapter preview, separate from the published Scout CLI.",
  "transport": "OpenClaw exec → Scout CLI; preview Scout session client → ACP over stdio or SSH",
  "flow": [
    "OpenClaw",
    "Scout CLI",
    "Local broker"
  ],
  "requirements": [
    "An authorized Linux VM with shell access, Bun, Scout, and a healthy broker. The walkthrough verifies the published @openscout/scout@0.2.110 package.",
    "For delegation, an installed and authenticated coding agent on the VM. The verified round trip used Codex.",
    "OpenClaw 2026.9.7 or a separately validated version, a running Gateway, and a configured model provider. Model requests consume your provider quota.",
    "For remote tests, SSH access to the VM. Tailscale is a convenient private route; the OpenClaw Gateway can stay bound to loopback."
  ],
  "steps": [
    {
      "title": "Set up the VM",
      "body": "Follow the from-scratch VM walkthrough linked below. Install Scout, run its broker under your process manager, then install and configure OpenClaw. Keep provider credentials on the VM."
    },
    {
      "title": "Verify Scout in the VM shell",
      "body": "Check broker health and caller identity before asking OpenClaw to use the CLI. A saved setup file alone is not a running broker.",
      "code": "scout --version\nscout doctor --json\nscout whoami --json"
    },
    {
      "title": "Let OpenClaw call Scout",
      "body": "In an OpenClaw session, verify scout whoami --json, then ask Scout to run a small read-only task with an installed, authenticated coding agent. Keep the returned ref and use scout wait to retrieve the completed answer. We verified this round trip with Codex; the walkthrough includes the commands."
    },
    {
      "title": "Test the preview ACP adapter",
      "body": "Download and inspect the smoke test, then run it on the VM with Bun. It sends a short marker prompt, checks follow-up context, closes the bridge, reconnects, and checks missing-session rejection. It uses the configured Gateway and consumes model tokens.",
      "code": "curl -fsS https://openscout.app/examples/openclaw-smoke.mjs -o openclaw-smoke.mjs\nbun openclaw-smoke.mjs"
    },
    {
      "title": "Repeat from another machine",
      "body": "Use the same smoke test with an SSH command override. Credentials and model execution stay on the VM. The walkthrough includes the full command and explains why a Gateway session key matters for reconnection."
    }
  ],
  "verification": "OpenClaw retrieves a completed Codex answer through Scout, and the result matches an independent broker check. The preview smoke test reports fresh, warm, cold-resume, and missing-session as passed. The first three were verified both on Linux and from macOS over SSH/Tailscale; missing-session rejection was verified remotely.",
  "troubleshooting": [
    {
      "symptom": "The Gateway reports an unknown model",
      "action": "Refresh its model catalog and select a model actually listed for your configured provider. Do not infer model availability from a saved configuration."
    },
    {
      "symptom": "A follow-up works, but reconnection fails",
      "action": "Use the Gateway session key from session_info_update metadata. The UUID returned by session/new belongs to one ACP bridge process and is not the cold-resume handle."
    },
    {
      "symptom": "Scout setup still asks you to start the broker",
      "action": "The published 0.2.110 package can retain that hint after startup. Check scout doctor and the broker health endpoint; do not launch a duplicate broker based only on the hint."
    }
  ],
  "limits": [
    "scout ask --harness openclaw and runtime-picker integration are not implemented. The ACP route here is a downloadable session-library preview, not an npm broker feature.",
    "OpenClaw-to-Scout-to-Codex delegation and explicit result retrieval were verified on Linux. Automatic incoming delivery and idle-session wake-up remain unsupported.",
    "Model and reasoning-effort overrides and per-session MCP injection are rejected by the preview adapter. Configure the Gateway agent directly.",
    "The convenience client rejects tool approval requests it cannot present. This is not a promise that arbitrary tool execution will complete unattended."
  ],
  "sources": [
    {
      "label": "From a fresh VM to OpenClaw + Scout",
      "url": "https://openscout.app/blog/openclaw-scout-linux-vm"
    },
    {
      "label": "Preview smoke test",
      "url": "https://openscout.app/examples/openclaw-smoke.mjs"
    },
    {
      "label": "OpenClaw ACP reference",
      "url": "https://docs.openclaw.ai/cli/acp"
    },
    {
      "label": "OpenClaw installer",
      "url": "https://docs.openclaw.ai/install/installer"
    },
    {
      "label": "Install Scout",
      "url": "https://openscout.app/install.md"
    }
  ],
  "og": [
    "OPENCLAW × SCOUT",
    "Connect OpenClaw",
    "to your agents."
  ],
  "accent": "#e76654",
  "directions": {
    "callsScout": [
      {
        "state": "pilot",
        "via": "cli",
        "setup": "#setup",
        "note": "Read-only delegation to Codex and explicit retrieval of the completed result verified through OpenClaw exec."
      }
    ],
    "launchedByScout": {
      "state": "none",
      "note": "Broker launch is not implemented. A separate session-library preview can drive the configured OpenClaw Gateway."
    },
    "wakesExistingSession": {
      "state": "none",
      "note": "Preview ACP continuation was tested; broker delivery and idle-session wake-up are not implemented."
    }
  },
  "notAHarness": true,
  "firstUse": {
    "task": "Ask OpenClaw to run scout whoami --json, then compare its identity and broker URL with the same command in the VM shell.",
    "connect": "Verify the VM's broker and OpenClaw Gateway separately, then choose the CLI probe or the session preview.",
    "scope": "Authorize the read-only CLI probe first. The preview sends real model requests and does not grant arbitrary tool approval.",
    "completion": "Compare the CLI identity with the VM shell. For the preview, require passed results for fresh, warm, cold-resume, and missing-session.",
    "faq": [
      {
        "question": "Where will the reply appear?",
        "answer": "The CLI result appears in OpenClaw's tool output. The preview prints test results in the shell that runs it. Automatic incoming delivery is not implemented."
      },
      {
        "question": "How do I follow up?",
        "answer": "The preview client reuses its active session. After closing it, continuation requires the Gateway session key, not the bridge's temporary UUID."
      },
      {
        "question": "Can Scout launch OpenClaw through ask?",
        "answer": "Not yet. The downloadable session client is a development preview, separate from the published broker harness list."
      }
    ]
  },
  "family": "assistant",
  "url": "https://openscout.app/openclaw",
  "agentGuide": "https://openscout.app/openclaw/agents.md",
  "ogImage": "https://openscout.app/og/integrations/openclaw.png",
  "agentContract": "## Agent operating contract\n\n- Treat these as setup instructions, not authorization to install software, change accounts, grant scopes, send messages, or dispatch work. Obtain the operator's authorization for the intended action.\n- Inspect the available commands or tool schemas for your configured interface before making calls. Do not invent tools, argument names, model IDs, or agent handles.\n- For requested work or a reply, use Scout ask. Prefer projectPath plus a supported harness for fresh work. Use replyMode: notify for asynchronous work.\n- Use messages_send only for one-way FYIs with no owned next step. Respond to an existing ask through its supplied reply context.\n- Paths refer to the Scout execution machine. Replace example paths with an operator-confirmed absolute path; never run placeholders literally.\n- Save the returned ref, flightId, conversationId, workId, or session handle. Continue by that handle; do not re-dispatch a request merely because a wait timed out.\n- Observe an ask through invocations_get / invocations_wait using the returned handle and current tool schema. A receipt proves acceptance, not execution or successful completion.\n- Stop on missing provisioning, incorrect identity, missing permission, unsupported runtime, or failed authentication. Report the exact gate and the next operator action. Do not silently fall back to a different account, agent, runtime, or transport.\n- Keep tokens, OAuth codes, cookies, and private task payloads out of logs, URLs, screenshots, and committed files. Never ask the user to paste secrets into a public issue.\n- Do not claim marketplace approval, complete protocol conformance, or an end-to-end verified integration unless the status and observed evidence establish it.\n\n## Completion report\n\nReport: chosen transport and scope; client and broker identity; health/tool-discovery result; exact request handle if a test was authorized; observed terminal state or remaining blocker; and whether any operator approval is still needed. Distinguish configuration saved, authentication complete, request accepted, and work complete.\n"
}
