This repository is markmhendrickson/openclaw, a fork of openclaw/openclaw. It keeps upstream behavior and adds a small set of changes aimed at Codex + Docker and WhatsApp reliability.
For the full product overview, install flow, sponsors, and documentation, use the canonical upstream README:
OpenClaw — README (upstream) · Repository · Website · Docs
Everything below describes only what differs in this fork.
When the configured primary model is owned by a provider plugin (for example Codex), that plugin must be part of the gateway startup plugin set so harnesses register before channels start. Otherwise you can see errors such as requested agent harness codex is not registered.
- Code:
src/plugins/channel-plugin-ids.ts— resolve the configured model ref, map to owning plugin IDs, and merge them into startup resolution. - Tests:
src/plugins/channel-plugin-ids.test.ts
WhatsApp-backed agents can use recent inbound chat history for follow-up channel actions instead of operating without context.
- Code:
extensions/whatsapp/(channel actions, inbound monitor, types) plus shared message-action / config wiring undersrc/.
Default Docker compose exposes the Codex OAuth callback port and related wiring so subscription-based Codex auth can complete inside the stack.
- Compose:
docker-compose.yml— publishes1455:1455for the callback path used with Codex OAuth in the gateway/CLI network namespace. - Helper:
scripts/docker/openai-codex-auth.sh
For a local-only overlay (bind mounts for ~/.codex, Codex binary path, user: node, etc.), keep a separate docker-compose.extra.yml on your machine; it is intentionally not tracked here (see .gitignore).
- Default work that may be proposed upstream lives on branches such as
mh/local-main-…with focused commits. - To refresh this fork from upstream: merge or rebase
openclaw/openclawmaininto your branch, then push tomarkmhendrickson/openclaw.
Same as upstream: see LICENSE.