Published to npm as @bitkyc08/opencodex@2.78.0-preview.20261005 with dist-tag preview.
New Features
- Add Claude subagent force and Remote Link setup recovery (#6489)
- Add explicit help paths and complete reference (#6498)
- Organize help around common tasks (#6500)
- Guide recovery from command typos (#6503)
- Add native pool preference with explicit opt-out precedence (#6562)
- Audit catalog writes with bounded private records (#6560)
- Heal lost catalog rows only from the idle owner (#6563)
- Icon theme switch sharing a row with the zoom stepper (#6579)
- Name the holder when the runtime mutation lease is busy (#6512)
- Group the sidebar into eight rows and tidy the Claude surface (#6593)
- Make existing management workflows discoverable (#6526)
- Add live provider management and safe editor apply (#6528)
- Add model ordering and routing editor workflows (#6535)
- Complete account policy and runtime settings workflows (#6539)
- Complete integration recovery and maintenance workflows (#6542)
- Complete observation and explicit-key API workflows (#6545)
- One-page Claude Code settings and Desktop model roles (#6596)
- Show the missing-store remedy in the dashboard (#6597)
Bug Fixes
- Remove blank tail from account-page scrolling (#6475)
- Register subagents after first-party setup (#6484)
- Forward the Grok conversation as session_id so OpenAI prefixes stay warm (#6482)
- Preserve JSON while escaping human output (#6459)
- Keep backup names out of Windows cmd logging (#6455)
- Preserve legacy cleanup before startup prechecks (#6457)
- Integrate reviewed provider, client, and desktop recovery train (#6487)
- Resolve late train review findings and regression gaps (#6490)
- Normalize short Windows home paths for Scoop npm (#6494)
- Group discovered effort families across versions (#6501)
- Keep restart rechecks within their deadline (#6506)
- Stabilize large native HTTP uploads (carry #6508) (#6513)
- Retain tool batches across assistant commentary (#6519)
- Keep native context failures terminal in Messages (#6516)
- Group Claude 5.5 usage and derive reference prices (#6514)
- Classify revoked native sessions without stale attribution (#6515)
- Preserve Claude identity across token rotation (carry #6378) (#6518)
- Stabilize standalone pairing for Child enrollment (#6517)
- Require pairing for child link join (#6076)
- Preserve stored-main ownership and scoped refresh refusal (#6523)
- Preserve plan-model refusal evidence through error projection (#6527)
- Refuse unbooked dispatches under applicable ceilings (#6538)
- Preserve bounded nested HTTP refusal semantics (#6540)
- Promote scoped caller conversation headers (#6554)
- Retain bounded conversation trajectories (#6557)
- Preserve bounded large headers in picker relay (#6551)
- Qualify child trajectories by supplied parent (#6565)
- Share reset replay grants across translated sends (#6555)
- Preserve deferred and inline native tool names (#6552)
- Preserve native Claude requests across pooled dispatch (#6559)
- Require saved config authority for routed removal (#6553)
- Bind catalog writes to home ownership and intent (#6558)
- Preserve additional tool outputs during replay (#6576)
- Say why a dropped chatgptDesktop block reads as off (#6486)
- Honor consented credits after included quota exhaustion (#6572)
- Default config flags-only calls to show (carry #6483) (#6585)
- Release Anthropic refresh intent after a proven-unsent DNS failure (#6586)
- Report the spent primary, not the fallback's own refusal (#6564)
- Skip non-executable POSIX PATH entries in readiness checks (#6493)
- Preserve reasoning defaults after settings normalization (#6577)
- Wait for a complete Bun before restarting onto a replaced package tree (#6569)
- Keep Unix autostart shims off package-manager paths (carry of #6301) (#6589)
- Guard standalone update restart with exact replacement verification (#6556)
- Write DSH routes to the Desktop profile patch it reads (#6522)
- Explain Codex shim overlay migration and activation in status and doctor (#6607)
- Show account health actions, paid-credit consent, and empty-list next steps (#6611)
- Correct help and CLI reference text and show declared flags in leaf help (#6609)
- Stop-first manual reinstall guidance; refresh shim, update-failed, and ZCode guide text (#6619)
- Keep inference ports independent of management ingress (#6601)
- Normalize native upstream session aliases (#6588)
- Short sidebars, Claude sidecar rows, Save errors and legacy #debug after the GUI regroup (#6612)
- Keep armed test processes out of the real Codex home (#6591)
- Serve the Desktop picker over HTTP/2 so SSE streams cannot starve claude.ai (#6511) (#6610)
- Stop echoing values in claude desktop apply argument errors (#6618)
- Keep Claude Desktop role selects inside the Models card (#6625)
- Integration dialog starts on Close; client status failure offers Retry (#6623)
- Name ocx start when integration preview finds no running proxy (#6622)
- Reject arguments to uninstall and redact credential values in argument errors (#6608)
- Honest exit codes and JSON receipts for config, alias, health, update; validate provider add before saving (#6614)
- Name the real cause and next action in restart, update, and management refusals (#6615)
Documentation
- Update TokenLab docs links (#6474)
- Record native account carry publication (#6536)
- Record scoped release stabilization and verification gates (#6541)
- Record 2.77.0 candidate acceptance and publication (#6561)
- Close the CLI update restart unit with its delivery outcome (#6595)
- Sync Connect, Claude settings and DSH profile-patch guides with the dashboard (#6613)
Chores
- Drain Windows ACL work and startup child output (#6495)
- Isolate release fixtures and release holder leases cooperatively (#6543)
- Open dev at 2.78.0 before releasing 2.77.0 (#6549)
- Compact the test-layout fixture to restore ratchet headroom (#6583)
- Isolate provider fixture DNS and bound child lifetime (#6578)
- Guard Kilo symlink regression on Windows (#6405)
- Make audio device refusal and login child import portable to Windows (#6599)
- Make the startup-proxy refresh test hold on Windows (#6600)
- Make catalog audit and provider proxy fixture robust on Windows; state unhealthy in-place shim status (#6602)
Other Changes
Changelog
Full Changelog: v2.77.0...v2.78.0-preview.20261005
- #6076 fix(security): require pairing for child link join @luvs01
- #6405 test(clients): guard Kilo symlink regression on Windows @imranshaiedi-byte
- #6455 fix(service): keep backup names out of Windows cmd logging @luvs01
- #6457 fix(claude): preserve legacy cleanup before startup prechecks @luvs01
- #6459 fix(cli): preserve JSON while escaping human output @luvs01
- #6462 chore(release): open dev at 2.77.0 before releasing 2.76.0 @github-actions[bot]
- #6474 docs(providers): update TokenLab docs links @hedging8563
- #6475 fix(gui): remove blank tail from account-page scrolling @lidge-jun
- #6482 fix(grok): forward the Grok conversation as session_id so OpenAI prefixes stay warm @lidge-jun
- #6484 fix(claude): register subagents after first-party setup @lidge-jun
- #6486 fix(chatgpt): say why a dropped chatgptDesktop block reads as off @lcxhh521
- #6487 fix: integrate reviewed provider, client, and desktop recovery train @lidge-jun
- #6489 feat: add Claude subagent force and Remote Link setup recovery @lidge-jun
- #6490 fix: resolve late train review findings and regression gaps @lidge-jun
- #6493 fix(codex): skip non-executable POSIX PATH entries in readiness checks @hulkbig
- #6494 fix(update): normalize short Windows home paths for Scoop npm @lidge-jun
- #6495 test: drain Windows ACL work and startup child output @lidge-jun
- #6498 feat(cli): add explicit help paths and complete reference @lidge-jun
- #6500 feat(cli): organize help around common tasks @lidge-jun
- #6501 fix(antigravity): group discovered effort families across versions @lidge-jun
- #6503 feat(cli): guide recovery from command typos @lidge-jun
- #6506 fix(cli): keep restart rechecks within their deadline @lidge-jun
- #6512 feat(service): name the holder when the runtime mutation lease is busy @lcxhh521
- #6513 fix(responses): stabilize large native HTTP uploads (carry #6508) @lidge-jun
- #6514 fix(antigravity): group Claude 5.5 usage and derive reference prices @lidge-jun
- #6515 fix(codex): classify revoked native sessions without stale attribution @lidge-jun
- #6516 fix(claude): keep native context failures terminal in Messages @lidge-jun
- #6517 fix(security): stabilize standalone pairing for Child enrollment @lidge-jun
- #6518 fix(oauth): preserve Claude identity across token rotation (carry #6378) @lidge-jun
- #6519 fix(ollama-native): retain tool batches across assistant commentary @lidge-jun
- #6522 fix(integrations): write DSH routes to the Desktop profile patch it reads @lcxhh521
- #6523 fix(codex): preserve stored-main ownership and scoped refresh refusal @lidge-jun
- #6526 feat(cli): make existing management workflows discoverable @lidge-jun
- #6527 fix(combos): preserve plan-model refusal evidence through error projection @lidge-jun
- #6528 feat(cli): add live provider management and safe editor apply @lidge-jun
- #6535 feat(cli): add model ordering and routing editor workflows @lidge-jun
- #6536 docs: record native account carry publication @lidge-jun
- #6538 fix(spend): refuse unbooked dispatches under applicable ceilings @lidge-jun
- #6539 feat(cli): complete account policy and runtime settings workflows @lidge-jun
- #6540 fix(combo): preserve bounded nested HTTP refusal semantics @lidge-jun
- #6541 docs: record scoped release stabilization and verification gates @lidge-jun
- #6542 feat(cli): complete integration recovery and maintenance workflows @lidge-jun
- #6543 test: isolate release fixtures and release holder leases cooperatively @lidge-jun
- #6545 feat(cli): complete observation and explicit-key API workflows @lidge-jun
- #6549 chore(release): open dev at 2.78.0 before releasing 2.77.0 @github-actions[bot]
- #6551 fix(claude): preserve bounded large headers in picker relay @lidge-jun
- #6552 fix(anthropic): preserve deferred and inline native tool names @lidge-jun
- #6553 fix(codex): require saved config authority for routed removal @lidge-jun
- #6554 fix(server): promote scoped caller conversation headers @lidge-jun
- #6555 fix(responses): share reset replay grants across translated sends @lidge-jun
- #6556 fix(cli): guard standalone update restart with exact replacement verification @lidge-jun
- #6557 fix(devin): retain bounded conversation trajectories @lidge-jun
- #6558 fix(codex): bind catalog writes to home ownership and intent @lidge-jun
- #6559 fix(anthropic): preserve native Claude requests across pooled dispatch @lidge-jun
- #6560 feat(codex): audit catalog writes with bounded private records @lidge-jun
- #6561 docs: record 2.77.0 candidate acceptance and publication @lidge-jun
- #6562 feat(anthropic): add native pool preference with explicit opt-out precedence @lidge-jun
- #6563 feat(codex): heal lost catalog rows only from the idle owner @lidge-jun
- #6564 fix(combos): report the spent primary, not the fallback's own refusal @vadymhimself
- #6565 fix(devin): qualify child trajectories by supplied parent @lidge-jun
- #6569 fix(server): wait for a complete Bun before restarting onto a replaced package tree @LilMGenius
- #6572 fix(codex): honor consented credits after included quota exhaustion @Ingwannu
- #6576 fix(ollama): preserve additional tool outputs during replay @Ingwannu
- #6577 fix(droid): preserve reasoning defaults after settings normalization @shawn-kim-ai
- #6578 test: isolate provider fixture DNS and bound child lifetime @Hylouis233
- #6579 feat(gui): icon theme switch sharing a row with the zoom stepper @lidge-jun
- #6583 test(layout): compact the test-layout fixture to restore ratchet headroom @lidge-jun
- #6585 fix(cli): default config flags-only calls to show (carry #6483) @lidge-jun
- #6586 fix(oauth): release Anthropic refresh intent after a proven-unsent DNS failure @lidge-jun
- #6588 fix(responses): normalize native upstream session aliases @Yuxin-Qiao
- #6589 fix(codex): keep Unix autostart shims off package-manager paths (carry of #6301) @lidge-jun
- #6591 fix(test): keep armed test processes out of the real Codex home @lcxhh521
- #6593 feat(gui): group the sidebar into eight rows and tidy the Claude surface @lidge-jun
- #6595 docs(devlog): close the CLI update restart unit with its delivery outcome @lidge-jun
- #6596 feat(gui): one-page Claude Code settings and Desktop model roles @lidge-jun
- #6597 feat(integrations): show the missing-store remedy in the dashboard @lcxhh521
- #6599 test(cli): make audio device refusal and login child import portable to Windows @lidge-jun
- #6600 test(oauth): make the startup-proxy refresh test hold on Windows @lidge-jun
- #6601 fix(management): keep inference ports independent of management ingress @Ingwannu
- #6602 test: make catalog audit and provider proxy fixture robust on Windows; state unhealthy in-place shim status @lidge-jun
- #6607 fix(cli): explain Codex shim overlay migration and activation in status and doctor @lidge-jun
- #6608 fix(cli): reject arguments to uninstall and redact credential values in argument errors @lidge-jun
- #6609 fix(cli): correct help and CLI reference text and show declared flags in leaf help @lidge-jun
- #6610 fix(claude): serve the Desktop picker over HTTP/2 so SSE streams cannot starve claude.ai (#6511) @lidge-jun
- #6611 fix(cli): show account health actions, paid-credit consent, and empty-list next steps @lidge-jun
- #6612 fix(gui): short sidebars, Claude sidecar rows, Save errors and legacy #debug after the GUI regroup @lidge-jun
- #6613 docs: sync Connect, Claude settings and DSH profile-patch guides with the dashboard @lidge-jun
- #6614 fix(cli): honest exit codes and JSON receipts for config, alias, health, update; validate provider add before saving @lidge-jun
- #6615 fix(cli): name the real cause and next action in restart, update, and management refusals @lidge-jun
- #6618 fix(cli): stop echoing values in claude desktop apply argument errors @lidge-jun
- #6619 fix(update): stop-first manual reinstall guidance; refresh shim, update-failed, and ZCode guide text @lidge-jun
- #6622 fix(cli): name ocx start when integration preview finds no running proxy @lidge-jun
- #6623 fix(gui): integration dialog starts on Close; client status failure offers Retry @lidge-jun
- #6625 fix(gui): keep Claude Desktop role selects inside the Models card @lidge-jun
- #6630 release: 2.78.0-preview.20261005 @lidge-jun