[Bug] Multiplexer pane spawn always skipped: "child session not ready" + hardcoded localhost:4096 serverUrl in v2 shim
Environment
oh-my-opencode-slim: 2.2.17 (loaded via opencode's plugin installer; also present as the plugin's v2 entry point) OpenCode: 1.18.25 (v1 lineage) OS: macOS 26.6 (Apple Silicon), tmux 3.4, herdr 0.8.2 Summary Multiplexer pane spawning never works — on both the tmux and herdr backends. The multiplexer-session-manager skips every spawn attempt with child session not ready, skipping respawn, and separately logs server not running, skipping against a hardcoded http://localhost:4096/ even when a healthy server is running on that exact port.
Steps to reproduce
Configure multiplexer: { "type": "tmux" | "herdr", "layout": "main-vertical", "main_pane_size": 60 }. Launch opencode inside the multiplexer (verified: HERDR_PANE_ID/HERDR_ENV=1 set, or $TMUX set for tmux). Plugin log confirms "enabled":true. Start a live opencode server at the expected port: opencode serve --port 4096 — verified healthy: curl localhost:4096/global/health → {"healthy":true,"version":"1.18.25"}. Dispatch two parallel subagents (@explorer ... / @librarian ...). Tasks execute and complete normally; no panes are ever created. Observed logs (both backends, healthy server on 4096):
[multiplexer-session-manager] child session not ready, skipping respawn {"sessionId":"ses_fab44b35...","parentId":"ses_fab46ff..."} [multiplexer-session-manager] close skipped; session not tracked {"reason":"idle","tracked":false,"hasMultiplexer":true} Note tracked:false on every session event — the session manager never registers child sessions, so respawn is skipped indefinitely.
Root-cause evidence (from the 2.2.17 bundle, dist/index.js)
The v2 compatibility shim hardcodes the server URL instead of plumbing the live one: serverUrl: new URL("http://localhost:4096/") in the buildPluginInput() shim context. Every spawn attempt is gated by a "child session ready" check that fails (tracked:false), before spawnPane is ever invoked. No spawnPane: SUCCESS/failed log line ever appears. Expected behavior: child sessions spawn a pane (titled with the subagent name) and attach; panes close and layout re-balances on completion, per docs/multiplexer-integration.md.
Workarounds tried: healthy server on 4096 (no effect); tmux and herdr backends (identical failure). Delegation itself works fine — only the pane layer is affected.
Impact: multiplexer integration (the feature the README recommends enabling) is non-functional in this version combination; subagent visibility falls back to the TUI's native subagent view (ctrl+x down).
Source: alvinunreal/oh-my-opencode-slim