๐จ HOTFIX โ Update Immediately
This is an urgent hotfix release. If you use LazyCodex (the Codex plugin), update NOW โ especially if you run GPT-5.6 models.
๐ฅ GPT-5.6 was completely broken under LazyCodex โ fixed and self-healing
With LazyCodex โค 4.16.1 installed, every single turn on gpt-5.6-sol / gpt-5.6-terra failed with an HTTP 400 (collaboration.spawn_agent is reserved for use by this model) โ even a plain "hi". Worse, manually fixing ~/.codex/config.toml didn't stick: the plugin re-broke it on every session start, leaving users in an invisible config tug-of-war. (#6002, lazycodex#118)
Root cause: the MultiAgentV2 session-start guard was written for an older Codex failure mode (openai/codex#26753) and unconditionally forced [features.multi_agent_v2] enabled = false. GPT-5.6 models declare multi_agent_version: "v2" in the model catalog and reserve the collaboration.spawn_agent schema โ for them, that forced disable is exactly what breaks every request.
What 4.16.2 does:
- Model-aware guard. The migration now reads
models_cache.json(and the live SessionStart model, socodex -m gpt-5.6-terrais safe even with a different default in config.toml). V2 models get the managed disable removed; v1/unknown models keep the old protection. The catalog wins over the name โgpt-5.6-lunais v1 and stays guarded. - Second poison key removed. Installers โค 4.15.x wrote
hide_spawn_agent_metadata = false, which mismatches the same reserved schema and 400s every turn on its own (verified by live A/B bisect on codex-cli 0.144.1 + gpt-5.6-sol). The guard now clears it on V2 models. agents.max_threadsconflict resolved. Codex rejectsthread/startoutright when that key coexists with MultiAgentV2 โ the migration no longer writes it on the V2 path and removes a stale one.- Skills speak the right tool dialect. OMO skills hard-coded the
multi_agent_v1.*namespace, leaving dead tool references on V2 sessions. Subagent guidance is now routed per session by the actual tool surface โ flatspawn_agenton GPT-5.6 V2,multi_agent_v1.*where it still exists. - Self-healing. No manual config surgery needed: the first session start after updating detects and repairs a poisoned config automatically, and stays byte-stable afterwards.
๐งต Background subagent results no longer get lost
If a parent session stayed continuously active, completion wakes from background subagents could be deferred forever โ orchestrators waited eternally for children that had already finished (#5804 / #5790 family). Wakes now carry their queue timestamp and force-dispatch after a 60s active-defer ceiling.
๐ Release pipeline repaired
Since v3.0.1, every release silently failed to push the git tag and the master mirror (the default GITHUB_TOKEN cannot push refs touching .github/workflows/*). The release job now self-heals โ starting with this release.
Upgrade now:
# OpenCode / OpenAgent
bun i -g oh-my-opencode@latest # or npm i -g
# Codex (LazyCodex)
codex plugin marketplace upgrade sisyphuslabs # or: npx lazycodex-ai@latest installMinor Compatibility and Stability Release
This release carries compatibility-facing behavior changes and operational hardening. Read the summary below before upgrading or publishing.
- Install and publish workflow hardening, including safer release sequencing and package/install fixes.
Commit Summary
- b92128c Merge pull request #6006 from code-yeongyu/feat/dual-surface-subagent-guidance
- 1c23044 fix(opencode): align Codex tables in builtin command templates
- a5e23c7 feat(codex): route subagent guidance by session tool surface
- 8afc078 Merge pull request #6004 from foxion37/fix/codex-multi-agent-v2-gpt56-schema
- 4433ca9 fix(codex): clear stale hide_spawn_agent_metadata=false on V2-preferred models
- 8be7277 fix(codex): normalize legacy shorthand on all guard paths, align subagent guard with GPT-5.6 fallback
- bc3611a fix(codex): prefer SessionStart model for multi_agent_v2 guard
- 07443c9 fix(codex): make multi_agent_v2 guard model-aware for GPT-5.6
- cd4826e Merge pull request #5996 from code-yeongyu/fix/master-mirror-selfheal
- e54a791 fix(ci): make master mirror self-heal on release
- 813cab9 Merge pull request #5994 from code-yeongyu/code-yeongyu/fix-ulw-resume-parent-wake
- be7c8b0 fix(omo-opencode): resume retained wakes past activity ceiling
- 5dfc2e2 fix(omo-opencode): preserve wake safety on active defer
- 90bc579 fix(omo-opencode): bound parent wake defer
Thank you to 1 community contributor:
- @foxion37:
- fix(codex): make multi_agent_v2 guard model-aware for GPT-5.6
- fix(codex): prefer SessionStart model for multi_agent_v2 guard