> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clawcontrol.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenClaw Integration

This page documents how ClawControl integrates with OpenClaw in the current implementation.

## Supported Binary and Version Expectation

* Supported binary: `openclaw`
* Minimum version expectation in code/docs: `2026.2.17`
* CLI resolution supports explicit `OPENCLAW_BIN` override and common install paths
* pnpm global installs are supported via `PNPM_HOME` (for example `$HOME/Library/pnpm`)

## Dependency Layers (Important)

ClawControl separates dependency health into two layers:

1. **Gateway reachability** (HTTP/WS probe).
2. **OpenClaw CLI availability** (binary + command execution).

These are intentionally independent. A reachable gateway does **not** guarantee CLI-backed features are available.

CLI-backed surfaces in this release include:

* maintenance actions and recovery
* models
* plugins
* cron
* capability probing

## Discovery and Resolution Behavior

Config resolution combines (in priority order):

1. ClawControl settings (`settings.json`)
2. environment variables
3. OpenClaw config discovery (`~/.openclaw`, `~/.OpenClaw`, `~/.moltbot`, `~/.clawdbot`)
4. default loopback gateway URLs

## Capability Probing

Capabilities endpoint probes OpenClaw and returns feature support map. Results are cached briefly and can be refreshed.

## Command Safety Model

* OpenClaw execution is allowlist-based.
* Commands run via `spawn` with array args (no shell interpolation).
* Dynamic command forms enforce required params.
* Command execution results are logged in receipts.

## Workflow Dispatch Compatibility

Workflow stage dispatch supports mixed OpenClaw CLI variants using:

* `CLAWCONTROL_OPENCLAW_DISPATCH_MODE=auto` (default): try `openclaw run` first, fallback to `openclaw agent --local` when `run` is unsupported.
* `CLAWCONTROL_OPENCLAW_DISPATCH_MODE=run`: force `openclaw run`.
* `CLAWCONTROL_OPENCLAW_DISPATCH_MODE=agent_local`: force `openclaw agent --local`.

In `agent_local` mode, ClawControl sends a deterministic `--session-id` derived from operation identity and requires a non-null session id from command output. If no session id is returned, dispatch fails (no no-op success fallback).

## Unavailable / Degraded Behavior

When OpenClaw is unavailable:

* API responses return unavailable/degraded states or errors per endpoint contract.
* UI renders empty or unavailable states using real data contracts.
* No fake/demo fallback data is generated.

CLI-dependent API failures include additive metadata:

* `code`: `CLI_UNAVAILABLE`, `CLI_JSON_PARSE_FAILED`, `OPENCLAW_COMMAND_FAILED`
* `fixHint`: actionable remediation text when available

## Last updated

2026-02-17

## Related pages

* [Plugins](/features/plugins)
* [Models](/features/models)
* [OpenClaw, Console, and Cron (API)](/api/openclaw-console-cron)
* [OpenClaw, Auth-required, and Workspace Errors](/operations/openclaw-auth-workspace-errors)
