-
-
Notifications
You must be signed in to change notification settings - Fork 79.1k
Docker image should keep the Codex plugin for the default OpenAI harness #83613
Copy link
Copy link
Closed
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
Official Docker images should keep the
codexplugin in/app/dist/extensions/codex.codexis plugin-shaped, but it is not an arbitrary optional plugin for Docker. It registers thecodexagent harness, and OpenAI agent models route to the Codex harness by default. When the official image prunesdist/extensions/codex/**, the image ships without the runtime needed for the default OpenAI path.Why this matters
In
v2026.5.12, a Docker image could start and pass readiness while/v1/chat/completionsfailed with:That symptom was mitigated by #82532, which falls back to PI when the implicit Codex harness is unavailable. That is useful defense, but the base image should still include the default OpenAI harness owner.
Current packaging path
Relevant files:
package.json:41excludes!dist/extensions/codex/**.scripts/prune-docker-plugin-dist.mjs:23prunes excluded plugin dist folders unless kept byOPENCLAW_EXTENSIONS.Dockerfile:131runs the prune step during runtime image assembly..github/workflows/docker-release.yml:158and:256build official images withOPENCLAW_EXTENSIONS=diagnostics-otel, notcodex.The result is that official Docker images can omit
/app/dist/extensions/codex.Expected behavior
Official Docker images should include
/app/dist/extensions/codexby default.This should not depend on passing:
Codex should be treated as product-core packaging for official images because it owns the default OpenAI agent harness path.
Proposed fix
Do not prune
dist/extensions/codex/**for official Docker images.Preferred shape:
!dist/extensions/codex/**from the effective Docker prune set, orscripts/prune-docker-plugin-dist.mjssocodexis never pruned for official runtime images.Keep #82532's fallback behavior as defense, but do not make fallback the normal path for official Docker images.
Verification
Build an official-style Docker image and check:
Expected:
/app/dist/extensions/codex/openclaw.plugin.jsonexists.openclaw plugins inspect codex --runtime --jsonshows the plugin loaded.agentHarnessIdsincludescodex.Related: #82437, #82532.