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

Treating OpenClaw Subagents as Stateless Functions Instead of Persistent Team Members
A developer shares their experience shifting from treating OpenClaw subagents as persistent team members with personalities to viewing them as stateless function calls with specialized purposes.

Building a Fully Local Multi-Agent Assistant with OpenClaw and Ollama
A developer shares their stack for a fully local personal AI assistant using OpenClaw and Ollama, including models qwen3.5:35b-a3b, gemma3:4b, mistral:7b, MCP servers for Home Assistant and Gmail, and a Telegram Bot interface.

Structuring Claude Code Projects with CLAUDE.md, Skills, and MCP
A developer shares workflow improvements for Claude Code, including starting in plan mode, maintaining a CLAUDE.md file for project memory, creating reusable Skills for recurring tasks, and using MCP to connect to external tools.

How to Set Up Sub-Agents with Separate Workspaces in OpenClaw
A community solution for configuring multiple sub-agents with isolated workspaces and different models