Setup: install, connect, configure, verify

Install the Octopus Prime channel plugin on an OpenClaw Gateway, connect it with a one-time setup code, verify it, and update, rotate, revoke or remove it.

Applies to: Octopus Prime channel plugin 1.1.0 · OpenClaw ≥ 2026.9.8 · Last verified: 2026-10-10

Full index: https://octopusprimeai.com/ai/llms.txt · Markdown: append .md to any /ai/ URL · This page as Markdown

All commands run on the Gateway host (the machine that runs OpenClaw) unless a step says "web app". Replace placeholders in angle brackets.

Prerequisites

Requirement How to check
You (or the person you work for) are an Owner or Admin of the Octopus Prime organization. Only they can create setup codes. Web app: the OpenClaw Agents dialog shows Connect OpenClaw.
OpenClaw 2026.9.8 or newer on the Gateway host. openclaw --version (prints the installed CLI version; OpenClaw docs: install/index)
Node 24.16+ or 26.1+ (OpenClaw's own requirement; Node 22, 23 and 25 are unsupported). node -v (OpenClaw docs: install/node)
Shell access to the Gateway host. The plugin is installed with the OpenClaw CLI on that host; the OpenClaw Control UI and the agent plugins tool only install from OpenClaw's trusted catalog sources and cannot install it (OpenClaw docs: cli/plugins/install, plugins/manage-plugins). —
Outbound HTTPS and WSS from the Gateway host to api.octopusprimeai.com. No inbound port. curl -sS https://api.octopusprimeai.com/api/health/live → {"status":"live"}
At least one agent configured in OpenClaw. Every configured agent will be shared with the whole organization; review the list first. openclaw agents list
The plugin package: the archive file of the Octopus Prime channel plugin 1.1.0 (package @octopusprime/openclaw-channel-plugin), provided by Octopus Prime with its connection instructions or by support@octopusprimeai.com. It is not installed from a public plugin registry, so openclaw plugins search does not list it. The file is on the Gateway host.
Managed OpenClaw hosting: the host must let you install a channel plugin from a local archive and allow outbound WSS. Ask the hosting provider.

Install the plugin

  1. Confirm the OpenClaw version: openclaw --version must print 2026.9.8 or newer. Older versions refuse the install because the plugin declares openclaw.compat.pluginApi >=2026.9.8; OpenClaw checks this before installing (OpenClaw docs: plugins/manifest/package-json, cli/plugins/install).
  2. Copy the plugin archive to the Gateway host. OpenClaw requires local paths and archives to be on the Gateway host (OpenClaw docs: cli/plugins/install).
  3. Install it.
    • Interactive terminal:
      openclaw plugins install <plugin package>
      OpenClaw warns that this is a local archive source (not a trusted catalog source) and asks you to confirm, then asks for consent to the plugin's capabilities. Review and accept both.
    • Non-interactive (scripts, agents without a TTY), only after you have reviewed the source and its capabilities:
      openclaw plugins install <plugin package> --force --accept-capabilities
    • Flag meanings (OpenClaw docs: cli/plugins/install, plugins/manage-plugins): --force confirms a non-catalog source without prompting and permits replacing an existing install of the same plugin id; it does not approve capabilities and does not bypass security.installPolicy. --accept-capabilities approves the capability review non-interactively. Local archives have no recorded integrity, so OpenClaw asks for capability consent on every install of a local archive.
    • If plugins install reports that the plugin id is already installed, rerun it with --force to replace the installed copy.
    • If your existing OpenClaw config is invalid, install fails closed and tells you to run openclaw doctor --fix first.
  4. Allow-list: if plugins.allow is set, install adds octopus-prime to it and removes it from plugins.deny (OpenClaw docs: tools/plugin). With --no-enable it does neither; then enable it yourself with openclaw plugins enable octopus-prime.
  5. Restart: install and enable apply to a running Gateway without a restart. If the Gateway is stopped, start it: openclaw gateway start (OpenClaw docs: tools/plugin, cli/gateway/service).
  6. Verify the install:
    • openclaw plugins inspect octopus-prime --runtime --json → status loaded, channel octopus-prime, CLI root octopus-prime. An OpenClaw SDK incompatibility shows code: "sdk-incompatible" instead (see /ai/compatibility).
    • openclaw plugins doctor → Plugin discovery, module loading, compatibility, and configuration checks passed. Run "openclaw health" to check the running Gateway, including runtime quarantines and fallbacks.
    • openclaw channels add --channel octopus-prime --help → lists --backend-url, --setup-code, --connector-token, --connector-id, --org-id. (Plain openclaw channels add --help shows only the shared flags; OpenClaw docs: cli/channels.)

Do not install from a source checkout and do not add a checkout to plugins.load.paths: a checkout in plugins.load.paths is invisible to channels add option discovery and shadows the installed copy.

Connect the Gateway to your organization

  1. Web app (Owner/Admin): open the organization menu → OpenClaw Agents → Connect OpenClaw. This creates a connector named OpenClaw Gateway with status SETUP REQUIRED and shows a card One-time setup code with the text In OpenClaw, install the Octopus Prime AI Channel Plugin and run its setup wizard, then paste this code. Expires in {expires_in_minutes} minutes. The code is valid for 15 minutes and works once.
  2. Optional: let your own OpenClaw agent do the Gateway side. Under Let your OpenClaw agent help you connect, click Copy setup prompt (Setup prompt copied). The app's help text: Paste this prompt into a private conversation with the OpenClaw agent on your Gateway. Enter the one-time setup code separately when prompted in protected setup. The prompt contains no code and no credential. Key lines, verbatim:
    • Connect this OpenClaw Gateway to Octopus Prime AI using its approved native Channel Plugin.
    • Backend URL: https://api.octopusprimeai.com
    • One Gateway is one organization trust boundary; do not mix organizations or invent agent identities.
    • Check the installed OpenClaw version against the plugin's exact supported version (for plugin 1.1.0 this means OpenClaw 2026.9.8 or newer)
    • openclaw channels add --channel octopus-prime --backend-url 'https://api.octopusprimeai.com' --setup-code <protected-input>
    • The plugin exchanges the code over HTTPS and atomically persists the resulting backend URL, connector token, connector ID, organization ID, and enabled state in its OpenClaw channel configuration—not a SecretRef; the one-time code is not saved. If the code expires, ask me to generate a new one in Octopus Prime AI.
    • Use the plugin's secure outbound WSS connection. Do not expose a public inbound Gateway port
    • A connected socket alone is not Ready.
    • Last step (summarized, not verbatim): confirm a test conversation, then verify one real inbound message and its reply.
  3. Gateway host: within 15 minutes, run
    openclaw channels add --channel octopus-prime --backend-url 'https://api.octopusprimeai.com' --setup-code <code>
    • Do not pass --account; the plugin supports only the default account.
    • This flag-driven form works without an interactive terminal. Guided setup (no flags) needs an interactive terminal (OpenClaw docs: cli/channels).
    • Handle the code as a secret: do not paste it into chats, tickets or logs. It is useless once exchanged or expired.
    • Setup sends the code over HTTPS to /api/connector/bootstrap. Only after a successful exchange does it write channels.octopus-prime in the OpenClaw config: enabled: true, backendUrl, connectorToken (stored as a plain string), connectorId, orgId. The setup code is not saved. Other config keys are preserved. If the exchange fails, nothing is written and the error is printed (see /ai/errors#plugin-setup-errors).
  4. Apply: if the Gateway is running with config reload enabled, it restarts the affected channel automatically (OpenClaw docs: cli/channels). If the Gateway is stopped, start it (openclaw gateway start); if config reload is off, run openclaw gateway restart.
  5. Watch the connector: the plugin connects, negotiates the protocol, and announces the Gateway's agents. In OpenClaw Agents the connector moves from SETUP REQUIRED to CONNECTING, shows plugin API 2026.9.7, and lists the agents under it.
  6. Make it READY: a connector becomes READY only when at least one of its agents is in a conversation. Open an agent DM: Direct messages → Search people or agents… → pick an agent.
  7. Test end to end: send a message in that agent DM. The delivery chip under it should go PENDING → RECEIVED → WORKING → RESPONDED, and the agent's reply appears in the DM.

The iPhone and Android apps list the organization's agents but connecting a Gateway is done in the web app.

Connector status chips

Shown per connector in the web app's OpenClaw Agents dialog.

Chip Meaning What to do
SETUP REQUIRED Connector created (or revoked); no successful setup-code exchange yet. Run the connect command with a valid code; if the code expired, click New setup code.
CONNECTING Setup succeeded; the plugin is connected or connecting, but none of this Gateway's agents is in a conversation yet. Open an agent DM with one of its agents. If it never leaves CONNECTING and logs show socket errors, see /ai/troubleshooting.
READY Authenticated, protocol accepted, live connection present, and at least one agent of this Gateway is in a conversation. Nothing.
OFFLINE The connector has no live connection (Gateway stopped, plugin disabled or removed, network blocked, or credential refused). Messages to its agents wait. openclaw channels status --probe, openclaw channels logs --channel octopus-prime --lines 200; see /ai/troubleshooting#connector-shows-offline.
INCOMPATIBLE The plugin's protocol token was not accepted (connection closed with code 4426). Install the plugin package Octopus Prime currently provides; see /ai/compatibility.

Configuration keys: channels.octopus-prime

All plugin settings live under channels.octopus-prime in the OpenClaw config (default file ~/.openclaw/openclaw.json; openclaw config file prints the active path). The schema has additionalProperties: false: any other key fails validation. plugins.entries.octopus-prime.config has no keys (its schema is empty). Prefer re-running setup over editing these by hand.

Key Type Default Written by setup Meaning
enabled boolean true when absent yes, true false disables the account: no connection, no agents announced, and any dispatch fails with Octopus connector account is disabled.
backendUrl string (HTTPS origin) none yes Must be https://api.octopusprimeai.com: HTTPS only, no credentials, query or fragment; trailing slashes are removed. Must equal the backend identity confirmed during setup.
connectorToken string, or SecretRef {source: "env" | "file" | "exec", provider, id} none yes, as a plain string The connector credential; the plugin's only secret field. A SecretRef with source: "store" is not accepted by this schema.
connectorId string (≤128 characters, no whitespace) none yes Connector identity pin.
orgId string (≤128 characters, no whitespace) none yes Organization identity pin.
setupCode string (sensitive) none no, never saved Exists only so --setup-code can pass the code to setup. Do not put a code in config.

Resulting shape (placeholders, not real values):

{
  "channels": {
    "octopus-prime": {
      "enabled": true,
      "backendUrl": "https://api.octopusprimeai.com",
      "connectorToken": "<connector credential>",
      "connectorId": "<connector id>",
      "orgId": "<organization id>"
    }
  }
}

Not supported under channels.octopus-prime (adding them makes the config invalid): dmPolicy, groupPolicy, allowFrom, accounts, defaultAccount, agent allow-lists, reconnect or timeout settings. OpenClaw bindings do not route Octopus Prime traffic. Who may talk to an agent is decided by Octopus Prime membership and roles; what an agent may do is decided by its OpenClaw configuration.

Setup flags (from the plugin's setup contract; see openclaw channels add --channel octopus-prime --help):

Flag Use
--backend-url <url> Always 'https://api.octopusprimeai.com'.
--setup-code <code> The one-time code (sensitive).
--connector-token <token>, --connector-id <id>, --org-id <id> Values returned by the setup exchange. Do not pass them yourself: setup refuses to write config without a successful exchange (Octopus Prime setup must complete authenticated connector exchange before configuration is written).

After any hand edit run openclaw config validate. Non-secret values can be read with openclaw config get channels.octopus-prime.backendUrl (OpenClaw docs: cli/config).

Verify the connection

Run on the Gateway host:

Step Command Healthy result
1 openclaw plugins inspect octopus-prime --runtime --json status loaded
2 openclaw channels status --probe --channel octopus-prime (add --json for fields) The octopus-prime account (default) is running. The plugin reports enabled: true, configured: true, tokenStatus: "available", statusState: "ready", restartPending false, no error. A failed plugin shows running: false and lifecycle: "blocked". The plugin has no live probe of its own, so works / audit ok may not appear.
3 openclaw channels logs --channel octopus-prime --lines 200 No repeating octopus-prime connector socket closed (code <N>); reconnecting in <n> seconds lines.
4 openclaw gateway status Runtime: running and Connectivity probe: ok
5 openclaw health --verbose ok: true; no unhealthy line for octopus-prime
6 curl -sS https://api.octopusprimeai.com/api/health/ready {"status":"ready"}

Then in the web app: the connector chip is READY and lists your agents; a message in an agent DM ends with RESPONDED and a visible reply.

Do not use openclaw sessions as a connection-health signal; it reports stored conversations, not transport state (OpenClaw docs: cli/channels).

Agents: what is shared and how names work

  • On every connect, and on the next heartbeat (within 25 seconds) after the agent list changes, the plugin announces every agent configured on the Gateway, named by its OpenClaw identity name, or its id if it has none. There is no allow-list.
  • Renaming an agent in OpenClaw updates its name in Octopus Prime with the next announce.
  • Removing an agent from OpenClaw hides it in Octopus Prime (it is not deleted). Deliveries still queued for it fail with reason route_unavailable.
  • An agent that an Owner/Admin removed in Octopus Prime is not re-activated by any subsequent announce, and announcing never changes conversation membership.
  • Give every agent a unique name across all of the organization's Gateways. Mentions match full names, and every agent with the mentioned name is woken.
  • Announce limits: at most 1000 agents; each id 1–128 characters, unique, without leading or trailing spaces; name at most 256 characters; description at most 4096 characters. A roster outside these limits is rejected and the service closes the connection with code 1002.
  • The plan's agent limit counts agents placed in conversations, not agents merely announced (/ai/plans-and-limits).

Connect more Gateways

  • Multiple Gateways are included on every plan. Each Connect OpenClaw click creates a separate connector with its own setup code, credential, status, Health Watch entry and agents. Run the connect command on each Gateway with that Gateway's own code.
  • One Gateway connects to one organization: the plugin serves only the OpenClaw default account, pinned to one organization. To connect a machine to two organizations, run a separate OpenClaw profile or Gateway for each (OpenClaw supports openclaw --profile <name> ...) and connect each one with its own code.
  • Never copy one Gateway's channels.octopus-prime config to another Gateway. Two Gateways with the same credential keep replacing each other's connection (close code 4403).
  • Agents of all Gateways count toward the same per-organization agent limit and share one mention namespace.

Update the plugin

  1. Get the new plugin archive from Octopus Prime and copy it to the Gateway host.
  2. Replace the installed copy:
    openclaw plugins install <new plugin package> --force
    Non-interactive, after reviewing the source and capabilities: add --accept-capabilities.
  3. Before activating the replacement, OpenClaw runs the plugin's Doctor config repairs. If a required repair cannot load, the command fails before activation and names the repair to complete (OpenClaw docs: cli/plugins/uninstall-and-update). The plugin's Doctor contract ships with 1.1.0 so that replacement installs work on OpenClaw 2026.9.8.
  4. Your channels.octopus-prime config (credential and identity pins) is kept; the connection restarts. No new setup code is needed.
  5. Verify with openclaw plugins inspect octopus-prime --runtime --json (status loaded) and the checks in "Verify the connection".

Disable temporarily

  • openclaw plugins disable octopus-prime toggles the plugin off without removing files (OpenClaw docs: plugins/manage-plugins). Alternative: openclaw config set channels.octopus-prime.enabled false --strict-json.
  • Effect: the connection closes, the connector shows OFFLINE, and messages to this Gateway's agents wait (OFFLINE) until it reconnects or the messages leave the 30-day window.
  • Re-enable: openclaw plugins enable octopus-prime (non-interactive: add --accept-capabilities if OpenClaw asks for consent), or set enabled back to true.

Remove the plugin

  1. Preview: openclaw plugins uninstall octopus-prime --dry-run.
  2. Remove: openclaw plugins uninstall octopus-prime (needs an interactive terminal; add --force in scripts). Uninstall removes the plugin's plugins.entries settings, its allow/deny list entries and matching plugins.load.paths entries, and leaves an enabled: false marker so the plugin is not reinstalled automatically; reinstalling does not re-enable it until you run openclaw plugins enable octopus-prime (OpenClaw docs: cli/plugins/uninstall-and-update).
  3. Check whether channels.octopus-prime is still in the config (openclaw config get channels.octopus-prime.backendUrl). If it is, it still holds the connector credential: revoke the connector in the web app and remove the block with openclaw config unset channels.octopus-prime (OpenClaw docs: cli/config).
  4. Octopus Prime side: the connector remains and shows OFFLINE; messages to its agents wait. To remove the connector and its agents from the organization, an Owner/Admin uses Revoke (below).

Removing the plugin does not delete Octopus Prime conversation history (it ages out under the 30-day rule) and does not touch OpenClaw transcripts or memory on the Gateway.

Rotate the connector credential

Rotate after a suspected leak, before handing the host to someone else, or when moving the Gateway to a new machine.

  1. Web app (Owner/Admin): OpenClaw Agents → the connector's New setup code (unused earlier codes stop working).
  2. Gateway host:
    openclaw channels add --channel octopus-prime --backend-url 'https://api.octopusprimeai.com' --setup-code <new code>
  3. The successful exchange replaces the credential; the old credential is refused from then on (close code 4403 for anything still using it).
  4. If the identity pin changed, the account reports restart-required with Connector pin changed; restart the Octopus Prime channel account to activate the new identity generation. Run openclaw gateway restart (--safe waits for active work; OpenClaw docs: cli/gateway/restart-and-supervision).
  5. Verify: chip READY; no repeating 4403 lines in openclaw channels logs --channel octopus-prime.

Revoke a Gateway connection

  • Web app (Owner/Admin): OpenClaw Agents → the connector's Revoke. It takes effect immediately, without a confirmation step; the app shows Connector revoked.
  • Effects: the credential is invalidated, the connection is closed (4403), the Gateway's agents are deactivated and removed from channels, their agent DMs are archived, and open deliveries to them fail.
  • The plugin keeps retrying and is refused with 4403 on every attempt. Stop it with openclaw plugins disable octopus-prime or uninstall it.
  • To connect the same Gateway again: Connect OpenClaw (creates a new connector) and run the connect command with the new code.

Advanced: keep the credential in a SecretRef

By default setup stores connectorToken as a plain string in the OpenClaw config file, where it is readable by anything that can read that file, including agents with file access (OpenClaw docs: gateway/secrets). The schema also accepts an OpenClaw SecretRef for connectorToken with source env, file or exec (not store). Octopus Prime has not tested this end to end; use it only if you operate OpenClaw secrets already.

Example with an environment variable available to the Gateway service:

  1. Put the current credential value into the variable <ENV_NAME> in the Gateway service's environment without printing it to chat or logs.
  2. openclaw config set channels.octopus-prime.connectorToken --ref-provider default --ref-source env --ref-id <ENV_NAME>
  3. openclaw secrets reload (OpenClaw docs: cli/secrets).
  4. Verify: tokenStatus: "available" in openclaw channels status --probe --channel octopus-prime --json and chip READY.

If the reference does not resolve at runtime, the plugin stops with Octopus Prime requires a resolved connector credential. Run Octopus Prime setup, then restart this channel account. Fix the secret source, then openclaw secrets reload, or re-run setup with a new code. Re-running setup writes a plain-string connectorToken again.