OpenClaw Proxy CLI: Validate Operator Proxy & Debug Local Capture

This page covers the openclaw proxy CLI for validating operator-managed proxy routing and using the local debug proxy to inspect intercepted traffic. It is intended for operators and developers needing preflight checks or transport-layer debugging.

Read this when

  • You need to validate operator-managed proxy routing before deployment
  • You need to capture OpenClaw transport traffic locally for debugging
  • You want to inspect debug proxy sessions, blobs, or built-in query presets

openclaw proxy

Validate proxy routing managed by an operator, or launch the explicit local debug proxy and review intercepted traffic.

openclaw proxy validate [--json] [--proxy-url <url>] [--proxy-ca-file <path>] [--allowed-url <url>] [--denied-url <url>] [--apns-reachable] [--apns-authority <url>] [--timeout-ms <ms>]
openclaw proxy start [--host <host>] [--port <port>]
openclaw proxy run [--host <host>] [--port <port>] -- <cmd...>
openclaw proxy coverage
openclaw proxy sessions [--limit <count>]
openclaw proxy query --preset <name> [--session <id>]
openclaw proxy blob --id <blobId>
openclaw proxy purge

validate performs a preflight check on a forward proxy managed by an operator. The remaining commands are debugging tools for transport-layer inspection: start a local capture proxy, execute a child command through it, enumerate capture sessions, examine traffic patterns, read captured blobs, and delete local capture data.

Validate

Determines the effective operator-managed proxy URL from --proxy-url, configuration file (proxy.proxyUrl), or OPENCLAW_PROXY_URL, following that priority order. If no proxy is enabled and configured, a configuration issue is reported; supply --proxy-url to perform a one-time preflight without modifying configuration.

Managed proxy URLs use http:// for a plain forward proxy listener, or https:// when OpenClaw must establish TLS to the proxy endpoint itself before forwarding proxy requests. Use --proxy-ca-file to trust a private CA for that TLS connection.

By default it runs:

  • one allowed check against https://example.com/ (override or extend with --allowed-url, repeatable)
  • one denied check against a temporary loopback canary (override with --denied-url, repeatable)

Custom --denied-url targets are fail-closed: both HTTP responses and ambiguous transport failures count as failures unless you can independently verify a deployment-specific denial signal. The built-in loopback canary is the only target where a transport error is treated as proof of blocking.

Add --apns-reachable to also open an APNs HTTP/2 CONNECT tunnel through the proxy and confirm sandbox APNs responds. The probe sends an intentionally invalid provider token, so an APNs 403 InvalidProviderToken response counts as a successful reachability signal (not a failure).

Options

FlagEffect
--jsonOutput machine-readable JSON
--proxy-url <url>Validate this http:///https:// proxy URL instead of config or env
--proxy-ca-file <path>Trust this PEM CA file for TLS verification of an HTTPS proxy endpoint
--allowed-url <url>Destination expected to succeed through the proxy (repeatable)
--denied-url <url>Destination expected to be blocked by the proxy (repeatable)
--apns-reachableAlso verify sandbox APNs HTTP/2 is reachable through the proxy
--apns-authority <url>APNs authority to probe (default https://api.sandbox.push.apple.com; production is https://api.push.apple.com)
--timeout-ms <ms>Per-request timeout

Exits with code 1 when proxy configuration or destination checks fail.

See Network Proxy for deployment guidance and denial semantics.

Debug proxy

start starts a local capturing proxy and prints its URL, CA certificate path, and capture database path; stop with Ctrl+C. Defaults to binding 127.0.0.1 unless --host is set.

run starts a local debug proxy, then runs <cmd...> (after --) with the proxy environment applied, under its own capture session.

The debug proxy's direct upstream forwarding opens upstream sockets for diagnostics. When OpenClaw managed proxy mode is active, direct forwarding for proxy requests and CONNECT tunnels is disabled by default; set OPENCLAW_DEBUG_PROXY_ALLOW_DIRECT_CONNECT_WITH_MANAGED_PROXY=1 only for approved local diagnostics.

coverage prints a JSON report (summary + per-transport entries) of which transports are captured, proxy-only, or uncovered.

sessions lists recent capture sessions (--limit, default 20).

query --preset <name> runs a built-in query against captured traffic, optionally scoped to --session <id>. Presets:

  • double-sends
  • retry-storms
  • cache-busting
  • ws-duplicate-frames
  • missing-ack
  • error-bursts

blob --id <blobId> prints a captured payload blob's raw content.

purge deletes all captured traffic metadata and blobs. Captures are local debugging data; purge when finished.