anomalyco / anomalyco/opencode

TUI freezes on blank screen at startup, no error, requires force-kill

Open
#41,284 2 comments 5 reactions 1 assignee View on GitHub

@kommander is already working on this.

Since Aug 8, 2026.

Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Bug: TUI freezes on blank screen at startup, no error, requires force-kill

Environment
  • OpenCode version: 1.18.14 (also reproduced on 1.18.15)
  • OS: macOS (Apple Silicon, M1 Max, 32GB)
  • Terminal: Terminal.app (default macOS terminal)
  • Install method: official install script (curl -fsSL https://opencode.ai/install | bash)
Description

Launching opencode in a normal project directory results in a completely blank screen. The process starts successfully, loads all config files without any error, then hangs silently before rendering the TUI. No error, no panic, no output — it simply never proceeds past initialization. The process must be force-killed (Cmd+Q / killall -9); Ctrl+C does not respond.

Confirmed not caused by:

  • Project or global config content (reproduced with config file removed/restored, and with a autoupdate: false key added — no change in behavior)
  • Local plugins (reproduced with ~/.config/opencode/plugin and ~/.opencode/plugin moved out of the way)
  • Version — same freeze occurs on both 1.18.14 and 1.18.15
  • Terminal state — reproduced after a full reset, after quitting and reopening Terminal.app in a fresh, larger window, and after clearing ~/.cache/opencode and ~/.local/share/opencode
Log output (--print-logs)
timestamp=2026-08-08T14:39:07.233Z level=INFO run=d9dbd7f1 message="creating instance" directory=/Users/vevertluisant
timestamp=2026-08-08T14:39:07.234Z level=INFO run=d9dbd7f1 message=fromDirectory directory=/Users/vevertluisant
timestamp=2026-08-08T14:39:07.334Z level=INFO run=d9dbd7f1 message=bootstrapping directory=/Users/vevertluisant
timestamp=2026-08-08T14:39:07.338Z level=INFO run=d9dbd7f1 message=loading path=/Users/vevertluisant/.config/opencode/config.json
timestamp=2026-08-08T14:39:07.339Z level=INFO run=d9dbd7f1 message=loading path=/Users/vevertluisant/.config/opencode/opencode.json
timestamp=2026-08-08T14:39:07.339Z level=INFO run=d9dbd7f1 message=loading path=/Users/vevertluisant/.config/opencode/opencode.jsonc
timestamp=2026-08-08T14:39:07.362Z level=INFO run=d9dbd7f1 message=loading path=/Users/vevertluisant/.opencode/opencode.json
timestamp=2026-08-08T14:39:07.362Z level=INFO run=d9dbd7f1 message=loading path=/Users/vevertluisant/.opencode/opencode.jsonc
[--- nothing logged for 2m33s ---]
timestamp=2026-08-08T14:41:40.980Z level=INFO run=d9dbd7f1 message="disposing all instances"

The last log line before the freeze is the final config-file load (.opencode/opencode.jsonc). Nothing is logged between that line and the forced shutdown 2 minutes 33 seconds later — the hang happens after config loading completes and before any TUI/render-related log line appears.

Steps to reproduce
  1. Open Terminal.app on macOS (Apple Silicon)
  2. cd ~ (or any project directory)
  3. Run opencode
  4. Screen stays blank indefinitely; Ctrl+C does nothing; process must be force-killed
Expected behavior

TUI renders normally after config loading, as it has in prior sessions on this same machine/config.

Additional context
  • After a forced kill, the terminal is sometimes left emitting raw ANSI mouse-tracking codes (;NNMNN sequences) until printf '\e[?1000l\e[?1002l\e[?1003l\e[?1006l\e[?1049l\e[0m' + reset is run — consistent with known mouse-reporting cleanup issues on force-exit.
  • opencode --version and opencode --help work fine, confirming this is isolated to TUI initialization, not the binary itself.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.