This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+9 more
ReleasePort's take
Light signalRelease v4.3.1 fixes crashes in the OpenCode Desktop sidecar and resolves multiple background‑agent issues.
Why it matters: Addresses crash bugs in native search, OS notifications, and ripgrep discovery; prevents duplicate parent wakes and cleanup listener loss, improving reliability for developers and SREs managing agents.
Summary
AI summaryBroad release touches shared, background-agent, stream, and parent-wake-notifier.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | Medium |
Fixes crashes in OpenCode Desktop sidecar affecting native search, OS notifications, and ripgrep discovery. Fixes crashes in OpenCode Desktop sidecar affecting native search, OS notifications, and ripgrep discovery. Source: llm_adapter@2026-05-22 Confidence: high |
— |
| Bugfix | Medium |
Resolves duplicate parent wakes during background agent promptAsync gate hold window. Resolves duplicate parent wakes during background agent promptAsync gate hold window. Source: llm_adapter@2026-05-22 Confidence: high |
— |
| Bugfix | Medium |
Prevents cleanup listener loss from transient errors in MCP startup or provider reconnects. Prevents cleanup listener loss from transient errors in MCP startup or provider reconnects. Source: llm_adapter@2026-05-22 Confidence: high |
— |
| Bugfix | Medium |
Prevents comment-checker deadloops when editing lines with unchanged existing comments. Prevents comment-checker deadloops when editing lines with unchanged existing comments. Source: llm_adapter@2026-05-22 Confidence: low |
— |
Full changelog
🖥️ Desktop Sidecar No Longer Crashes
If you've been hitting random crashes in OpenCode Desktop — silent exits, missing notifications, grep/glob returning nothing — this release fixes the root cause. The Electron utility process that runs OMO doesn't expose Bun's shell helpers or its native streaming APIs. We rewrote every affected path to detect this at runtime and fall back to plain Node child_process + buffer-concat streaming. Affected surfaces:
- Native search (
grep,glob) now reads subprocess output via a Node-safe stream collector instead ofResponse(stream).text()(#3919). - OS notifications fall back to
execFilewithwindowsHide: truewhenctx.$is absent (#4128, #4061). - Ripgrep discovery on Windows uses
where.exewith shell-free spawn — no more flashing console windows. - Subprocess hardening propagated through
binary-downloader,zip-extractor, and all 5 zip-entry-listing variants.
🔁 Background Agents Stop Echoing Themselves
Two long-standing reliability bugs are gone:
- Duplicate parent wakes — when a background subagent completed and the parent's
promptAsyncgate was still holding, the same wake could enqueue twice and start a second assistant stream. Resolved by semantic deduplication during the gate hold window (#4256, #4019). - Cleanup listener retention — repeated transient errors during MCP startup or provider reconnects no longer kill the host. The
uncaughtExceptionlistener stays installed across events, with a local re-entry guard that still prevents log explosions.
💬 No More Comment-Checker Deadloops
Editing a line that contained an existing comment used to trigger the comment-checker repeatedly even when the comment was unchanged. The checker now skips edits that don't introduce net-new comments and deduplicates warnings to once per 30s per session (#4292).
Pure bug-fix release. No new agents, no new tools, no config changes. If you're on v4.3.0, this is a drop-in upgrade.
- e7120f6a Merge pull request #4295 from vanhci/fix/issue-4292-comment-checker-deadloop
- 9e5c4318 Merge pull request #4297 from SpencerJung/fix/issue-4128-desktop-sidecar-crash
- 7409f2ea Merge pull request #4300 from code-yeongyu/fix/issue-3919-desktop-native-search
- e6d8b3e7 Merge pull request #4299 from code-yeongyu/fix/issue-4128-ctx-dollar-guard
- a51d22d3 Merge pull request #4301 from code-yeongyu/fix/issue-4256-duplicate-prompt-dispatch
- 560569e3 fix(parent-wake-notifier): drop duplicate wakes during promptAsync gate hold (#4256, #4019)
- aded57ff fix(shared): harden ripgrep-cli, zip-extractor, binary-downloader subprocess paths
- d17b2127 fix(tools/grep, tools/glob): use Node-safe subprocess streaming (#3919)
- 4ea7562f feat(shared): add Node-safe process stream reader and search output collector
- bc8c462d fix(session-notification-sender): guard ctx.$ with execFile fallback for Desktop sidecar (#4128, #4061)
- b31ad3c8 @csxq0605 has signed the CLA in code-yeongyu/oh-my-openagent#4298
- ec9997b7 fix(background-agent): keep cleanup error listener active
- 4cf391b7 fix(comment-checker): skip modified-existing comments and dedupe per-session (issue #4292)
- cb205e14 @SpencerJung has signed the CLA in code-yeongyu/oh-my-openagent#4247
- 16993291 @YOMXXX has signed the CLA in code-yeongyu/oh-my-openagent#4263
- 0904e237 @wolfkill has signed the CLA in code-yeongyu/oh-my-openagent#4261
Thank you to 1 community contributor:
- @SpencerJung:
- fix(background-agent): keep cleanup error listener active
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
Beta — feedback welcome: [email protected]