OpenClaw 5.28: Codex Plugin Broken After Upgrade — Fix with Symlink Shim

Upgrading OpenClaw from 5.12 to 5.28 can silently break the Codex plugin. After the upgrade, all agent calls hang at Waiting for agent reply, cron jobs time out at exactly 121 seconds with model-call-started, and the fallback chain doesn't kick in fast enough. The gateway starts clean, OAuth is valid, and Codex shows as installed and enabled — but every binary spawn attempt fails with a silent ENOENT.
Root Cause: Path Mismatch
The 5.28 Codex plugin harness expects the binary at:
vendor/x86_64-unknown-linux-musl/codex/codexBut the package ships the binary at:
vendor/x86_64-unknown-linux-musl/bin/codexThe plugin never finds the binary, so every spawn attempt hangs.
Fix: Create a Symlink Shim
Set the Codex extension directory and symlink the binary:
CODEX_DIR="/home/clawbot/.openclaw/extensions/codex/node_modules/@openai/codex-linux-x64/vendor/x86_64-unknown-linux-musl"
sudo mkdir -p "$CODEX_DIR/codex"
sudo ln -sf "$CODEX_DIR/bin/codex" "$CODEX_DIR/codex/codex"
sudo chown -h clawbot:clawbot "$CODEX_DIR/codex/codex"
sudo systemctl restart openclawAfter restart, agent calls should resume normally.
Important Caveats
- Reinstall or force-update of the Codex plugin wipes the extensions directory, so you must recreate the symlink after each reinstall.
- If your systemd service uses an
ExecStartPostchmod on the Codex binary, update that path tobin/codexas well.
This was reproduced on Ubuntu 24.04, npm install, systemd service. Hopefully this saves you a few hours of debugging.
📖 Read the full source: r/openclaw
👀 See Also

Anthropic publishes Champion Kit for Claude Code adoption
A playbook for engineers pushing Claude Code at their company: share reusable prompts, answer in public channels, and host a weekly show-and-tell thread — ~40 minutes total per week.

OpenClaw Docker users: Pin to commit 0c926a2c5 to fix broken Discord and channel extensions
After updating OpenClaw via Docker, channel extensions like Discord, Signal, and WhatsApp fail with module import errors. The issue stems from commit d9c285e93 and a second Docker-specific bug. Pin to commit 0c926a2c5 for a stable workaround.

Replacing OpenClaw's Default Memory with Redis and Qdrant for Production Multi-Agent Systems
A developer replaced OpenClaw's default SQLite memory with Redis for ephemeral state and Qdrant for persistent vector memory to solve scaling issues in multi-agent setups, implementing semantic search, cross-agent sharing, and concurrent writes.

How to Claim and Extend Anthropic API Credits Using Manifest's Router
A Reddit post details steps to claim up to $200 in free Anthropic API credits and configure Manifest's router to automatically route prompts to cheaper models like Haiku for simple tasks, extending credit lifespan from one month to several.