Repository navigation
Description
Environment
- OS: macOS 26.x (Darwin 25.6.0), Apple M5 Max (ARM64)
- Terminals tested: WezTerm (current), Herdr multiplexer panes, raw PTY with synthetic query responses
- Versions tested: 1.16.2, 1.17.0, 1.18.21 (official install script)
- Reproduces with:
--pure, no plugins, no project config, no global config,autoupdate: false
Summary
On this machine no version of the OpenCode TUI ever renders UI. Two failure stages, both observed:
- Config-dependent boot stall: with the default config present, the process hangs after loading config files — log ends at the last
loading path=...line, no error. Moving all configs/plugins aside lets boot complete. - Renderer paints nothing regardless: even when the backend boots fully (
init→created session→event connectedin logs) and the terminal answers every capability query, the screen shows only blank rows.
opencode run "..." also produces no output on stdin/stdout, same machine.
Evidence
Log progression with clean config (v1.17.0, WezTerm, real terminal):
init
created id=ses_fd27ff7a2ffelh8mjND5h6TyHQ slug=misty-sailor version=1.17.0 ... directory=/Users/davidandrews/PycharmProjects/lex
event connected
→ Window remained blank. User confirmed no TUI ever visible.
Raw PTY capture (no responder): process emits exactly the capability query block and then goes silent for minutes:
\x1b[>0q \x1bP+q4d73 \x1b[?1016$p \x1b[?2027$p \x1b[?2031$p \x1b[?1004$p \x1b[?2004$p \x1b[?2026$p \x1b]10;? \x1b]11;? \x1b]99;i=opentui-notifications:p=?; \x1b]1337;Capabilities \x1b]66;w=1;
284 bytes total (1.18.21), 274 bytes (1.16.2). Matches #32361 byte-for-byte.
Raw PTY capture (all queries answered: XTVERSION, XTGETTCAP, DECRQM ;2$y, OSC 10/11 color replies, DSR [6n): handshake completes, process then emits ~6.5 KB of cursor-positioning + full-width space rows — it actively paints empty frames and continues painting empty frames for 45+ s. Zero UI glyphs (OpenCode, Ask anything, BUILD never appear in the byte stream).
sample of hung process: ~100% of main-thread samples in kevent64 (event loop waiting, not spinning). JavaScriptCore worker threads present.
Ruled out:
- Project/global config content (repro with all configs moved away)
- Plugins (
--pure, plugin dirs emptied — including a third-party integration shim in~/.config/opencode/plugins/) - MCP servers (project config with 9 MCP servers removed)
- Terminal emulator (3 different environments incl. raw PTY where we answer everything ourselves)
- Autoupdate (
OPENCODE_DISABLE_AUTOUPDATE=1,"autoupdate": false) - Stale state (
~/.cache/opencode,~/.local/share/opencode,~/.opencodecleared) - Version regression window from TUI hangs on black screen at boot (OpenTUI) since v1.17.0 — Ubuntu/Wayland, all terminals, no plugins #32361 — pinned 1.16.2/1.17.0, still fails here
Notable observation
The one render path that DID paint visible UI on this machine is opencode --mini (banner + input prompt rendered once in a multiplexer pane), though keyboard input did not attach there either.
Related
- TUI hangs on black screen at boot (OpenTUI) since v1.17.0 — Ubuntu/Wayland, all terminals, no plugins #32361 (blank hang since v1.17.0, Ubuntu + macOS ARM64 reports)
- TUI freezes on blank screen at startup, no error, requires force-kill #41284 (blank freeze at startup, macOS Apple Silicon)
- TUI freezes on Debian 13 x86_64 / XFCE / X11 — blank screen, only kill -9 works #35494 (Debian blank freeze)
- TUI screen goes completely black when agent starts working (render loop silently stalls) #37803 ("render loop silently stalls")
- TUI hangs in tmux after opentui 0.1.103 upgrade (theme detection) #24475 (tmux hang,
waitForThemeModeblocking)
Happy to run any instrumented build, capture more traces, or test patches.
Activity
github-actions commentedon Aug 23, 2026
This issue might be a duplicate of existing issues. Please check:
If your issue contains unique reproduction details or evidence not covered by those reports, feel free to keep this open or ask a maintainer to link them instead.
GratefulDave commentedon Aug 23, 2026
It's hard to believe you would want to eliminate mac users for an issue like this over several months. :/
GratefulDave commentedon Aug 23, 2026
Cross-machine isolation (same owner, two Macs)
Controlled A/B between two machines, both driven from the identical Herdr pane on the failing machine:
env -i(minimal env)Key discriminator: the display path is identical and works — the mini's opencode TUI renders fine in a Herdr pane on the failing MacBook over ssh. Only locally executed opencode on the M5 Max fails, across every version, build channel, config state, and environment tested.
This points at something hardware-dependent on M5 Max (first-party Bun/JavaScriptCore execution or event-loop behavior on this chip generation) rather than terminal, config, or OS-version differences.
Happy to test instrumented builds on this machine.
thdxr commentedon Oct 11, 2026
Thanks for the report! OpenCode 2.0 is now out and development is focused on V2, so we're closing issues filed against OpenCode 1. Please upgrade (
opencode upgrade --major, details: https://anoma.ly/notes/opencode-2-0), and if this is still relevant on 2.0, reopen this issue or open a new one with your 2.0 version.— from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊