OpenAI Codex joins Claude Code as a selectable agent — same containment model: the real key (Anthropic or OpenAI) stays host-only, the VM only ever sees a budget-capped bearer token, egress is deny-by-default, and every change comes back as a human-gated git diff.
Added
drydock submit --agent claude|codex; operator default viadefault_agent/DRYDOCK_DEFAULT_AGENT. The credential gateway gained a vendor registry (Anthropic + OpenAI), with per-task USD metering + revoke for both.brokerdnow accepts at least one ofANTHROPIC_API_KEY/OPENAI_API_KEY.drydock tasksshows duration + metered cost + outcome for Codex too.
Changed
- Sandbox image renamed
claude-sandbox→drydock-sandbox(hosts both CLIs);entrypoint.shdispatches onDRYDOCK_AGENT. Re-rundrydock initto rebuild.api.openai.comadded to the default egress allowlist (gateway-routed, likeapi.anthropic.com).
Fixed
drydock startnow accepts either vendor key — it previously refused to start withoutANTHROPIC_API_KEY, blocking Codex-only operation.
Full notes in CHANGELOG.md. No third-party security audit; working alpha. macOS 26+ / Apple silicon.
Install: brew tap sricola/drydock && brew install drydock
sha256: b82af6287dcd1ffdc09f66a3e38b915bfb0d5f3c2c6d56c8ea3d02c5b608c865