This release includes 3 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+9 more
ReleasePort's take
Moderate signalRelease v4.16.2 fixes critical failures in LazyCodex integration with GPT‑5.6 (HTTP 400) and restores loss of background subagent results, while also repairing the CI/CD release pipeline to reliably push git tags.
Why it matters: If you use LazyCodex ≤4.16.1 with GPT‑5.6 models or rely on OMO subagents in long‑running sessions, upgrade immediately; otherwise, ensure your release workflow correctly pushes tags after this update.
Summary
AI summaryUpdates Commit Summary, codex, and omo-opencode across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Routes subagent guidance by session tool surface, supporting correct dialect for GPT‑5.6 V2 sessions. Routes subagent guidance by session tool surface, supporting correct dialect for GPT‑5.6 V2 sessions. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Feature | Medium |
Makes multi_agent_v2 guard model‑aware for GPT‑5.6, removing forced disable. Makes multi_agent_v2 guard model‑aware for GPT‑5.6, removing forced disable. Source: granite4.1:30b@2026-07-16-audit Confidence: low |
— |
| Bugfix | High |
Fixes complete failure of GPT‑5.6 models under LazyCodex ≤4.16.1 (HTTP 400). Fixes complete failure of GPT‑5.6 models under LazyCodex ≤4.16.1 (HTTP 400). Source: llm_adapter@2026-07-16 Confidence: low |
— |
| Bugfix | Medium |
Prevents loss of background subagent results when parent session stays active. Prevents loss of background subagent results when parent session stays active. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Bugfix | Medium |
Repairs release pipeline to correctly push git tags and master mirror after previous silent failures. Repairs release pipeline to correctly push git tags and master mirror after previous silent failures. Source: llm_adapter@2026-07-16 Confidence: high |
— |
| Bugfix | Medium |
Normalizes legacy shorthand and aligns multi‑agent V2 guard with GPT‑5.6 fallback. Normalizes legacy shorthand and aligns multi‑agent V2 guard with GPT‑5.6 fallback. Source: llm_adapter@2026-07-16 Confidence: low |
— |
Full changelog
🚨 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 install
Minor 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
- b92128c27 Merge pull request #6006 from code-yeongyu/feat/dual-surface-subagent-guidance
- 1c230443b fix(opencode): align Codex tables in builtin command templates
- a5e23c70b feat(codex): route subagent guidance by session tool surface
- 8afc078a6 Merge pull request #6004 from foxion37/fix/codex-multi-agent-v2-gpt56-schema
- 4433ca9a3 fix(codex): clear stale hide_spawn_agent_metadata=false on V2-preferred models
- 8be72771e fix(codex): normalize legacy shorthand on all guard paths, align subagent guard with GPT-5.6 fallback
- bc3611a16 fix(codex): prefer SessionStart model for multi_agent_v2 guard
- 07443c9de fix(codex): make multi_agent_v2 guard model-aware for GPT-5.6
- cd4826e1c Merge pull request #5996 from code-yeongyu/fix/master-mirror-selfheal
- e54a791f0 fix(ci): make master mirror self-heal on release
- 813cab95a Merge pull request #5994 from code-yeongyu/code-yeongyu/fix-ulw-resume-parent-wake
- be7c8b016 fix(omo-opencode): resume retained wakes past activity ceiling
- 5dfc2e264 fix(omo-opencode): preserve wake safety on active defer
- 90bc579ae 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
Breaking Changes
- LazyCodex ≤4.16.1 caused HTTP 400 failures for all GPT‑5.6 model requests; fixed in 4.16.2 with model‑aware guard and self‑healing config.
- Removed stale `hide_spawn_agent_metadata = false` key on V2 models to prevent 400 errors.
- Adjusted `agents.max_threads` handling so it no longer conflicts with MultiAgentV2 on GPT‑5.6 sessions.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Earlier breaking changes
- v4.19.0 Removes legacy Ralph Loop wiring; introduces Goal feature with automatic config migration.
- v4.6.0 Removed broken direct public binary entrypoints from platform launcher packages, keeping them internal.
- v4.6.0 Removed legacy context-window monitor hook path from active hooks and config surfaces.
- v4.4.0 Removes top‑level `lsp` config key; migration required to `.opencode/lsp.json`.
Featured in
Beta — feedback welcome: [email protected]