OpenClaw Docker users: Pin to commit 0c926a2c5 to fix broken Discord and channel extensions

The Problem
If you're running OpenClaw via Docker (docker build -t openclaw:local) and your Discord, Signal, WhatsApp, or other channel extensions stopped working after updating, you're not alone. After pulling the latest main and rebuilding, all channel extensions fail with the error: Error: Cannot find module '../../../src/infra/outbound/send-deps.js'.
This is caused by commit d9c285e93 ("Fix configure startup stalls from outbound send-deps imports") which reintroduced a broken relative import into channel.ts. Docker multi-stage builds only ship the dist/ directory, so any ../../../src/ imports break at runtime.
There's also a second issue (GitHub #48422) where dist/plugins/runtime/index.js is missing from Docker builds, breaking Discord and WhatsApp even if you patch around the send-deps error.
The Fix (for now)
We traced through the git history and found a stable commit you can pin to: 0c926a2c5 — "fix(mattermost): carry thread context to non-inbound reply paths (#44283)". This is version 2026.3.14 and is the last commit before the Discord extension refactor chain started. All channel extensions work correctly at this commit on Docker.
To pin to it:
cd ~/your-openclaw-repo
git fetch origin
git checkout 0c926a2c5
docker build --no-cache -t openclaw:local
docker compose up -dImportant: Don't go to commit 439c21e07 even though that one looks clean in the refactor, it has a different missing module error (deliver.js). The safe boundary is 0c926a2c5.
What's Broken Upstream
- Issue #46609 - send-deps.js import breaks all 10 channel extensions on Docker
- PR #46944 - fix proposed but NOT merged yet
- Issue #48422 - second Docker-only bug: missing
dist/plugins/runtime/index.js(filed March 16, no fix PR yet) - Latest release is v2026.3.13-1 (March 14) - no new release includes either fix
Heads Up
After a rebuild you'll likely need to re-approve Discord pairing: openclaw pairing approve discord
Also if you have custom volume mounts in your docker-compose.yml, save a copy before pulling as git pull will conflict with your local changes.
📖 Read the full source: r/openclaw
👀 See Also

System Architecture for Vibe Coders: A Senior Engineer's Guide
A 10-year engineer shares how to approach app building with Claude Code: start at the system level, not the code. Covers the four components — frontend, backend, database, plumbing — with a deep dive into the plumbing: APIs, hosting, deployment, secrets, and security.

OpenClaw v2026.3.22 Update Issues and 30-Second Fixes
The OpenClaw v2026.3.22 update introduced 12 breaking changes, including ClawHub becoming the default plugin store and deprecated environment variables. Five common disasters with quick fixes include API billing spikes, unintended agent actions, and configuration errors.

Workaround for OpenClaw Claude Access via Claude Code CLI
A method routes OpenClaw through Claude Code CLI to maintain Claude subscription access after Anthropic blocked direct third-party harnesses. The process involves installing the CLI, setting up an OAuth token, and configuring OpenClaw to use the ACP plugin.

Practical OpenClaw Advice: Starting Small, Avoiding Common Pitfalls
A developer shares lessons from building a personal health tracker with OpenClaw, emphasizing narrow scope, deterministic workflows, and sticking to one LLM. The post includes specific model observations comparing ChatGPT and Gemini.