Summary
Running opencode (v1.18.16) crashes immediately with SIGILL (EXC_BAD_INSTRUCTION) when the interactive TUI starts over an SSH connection from the Termius app on Android. It works fine:
- locally in Terminal.app,
- over a plain
ssh localhost TTY,
- at any terminal size.
The crash is reproducible in both a plain SSH shell and inside tmux over the same Termius connection. It is a startup crash — the process dies before any log lines are written.
Environment
- opencode 1.18.16 (Bun single binary,
/Users/USER/.opencode/bin/opencode, 148 MB, x86_64)
- macOS 12.7.6 (21H1320) on an Intel MacBookPro11,4 (i7-4770HQ)
- Client: Termius on Android, SSH over Tailscale,
TERM=xterm-256color, ~58x22 terminal
- No tmux/opencode config involved; fresh session also crashes
Steps to reproduce
- From Termius on Android, SSH into the Mac (
TERM=xterm-256color).
- Run
opencode (also reproduced inside tmux).
- The process dies immediately with
zsh: illegal hardware instruction.
Expected
The TUI starts and renders (as it does locally and over plain ssh).
Crash report
macOS crash reports (~/Library/Logs/DiagnosticReports/opencode-2026-08-10-13*.ips) all show the same signature:
exception: EXC_BAD_INSTRUCTION signal: SIGILL
termination: Illegal instruction: 4
faultingThread: 0
crashed stack (main thread):
opencode (no symbol) +57846957
opencode (no symbol) +57809547
opencode (no symbol) +17528424
libsystem_platform.dylib _sigtramp +15869
opencode (no symbol) +58597659
...
main image: x86_64, uuid 18601ead-261d-3873-a0a1-c9b95e96d94e
This looks like a JavaScriptCore (Bun) JIT code-generation crash on an old Intel macOS build, triggered only by a code path reached during TUI startup through the Termius terminal interaction. Happy to attach the full .ips files if useful.
Workarounds found
opencode serve / opencode web (headless, no TUI) works.
- Plain
ssh from another client (tested via ssh localhost) does not crash, so it appears specific to Termius's terminal capability responses.
Summary
Running
opencode(v1.18.16) crashes immediately with SIGILL (EXC_BAD_INSTRUCTION) when the interactive TUI starts over an SSH connection from the Termius app on Android. It works fine:ssh localhostTTY,The crash is reproducible in both a plain SSH shell and inside tmux over the same Termius connection. It is a startup crash — the process dies before any log lines are written.
Environment
/Users/USER/.opencode/bin/opencode, 148 MB, x86_64)TERM=xterm-256color, ~58x22 terminalSteps to reproduce
TERM=xterm-256color).opencode(also reproduced insidetmux).zsh: illegal hardware instruction.Expected
The TUI starts and renders (as it does locally and over plain ssh).
Crash report
macOS crash reports (
~/Library/Logs/DiagnosticReports/opencode-2026-08-10-13*.ips) all show the same signature:This looks like a JavaScriptCore (Bun) JIT code-generation crash on an old Intel macOS build, triggered only by a code path reached during TUI startup through the Termius terminal interaction. Happy to attach the full
.ipsfiles if useful.Workarounds found
opencode serve/opencode web(headless, no TUI) works.sshfrom another client (tested viassh localhost) does not crash, so it appears specific to Termius's terminal capability responses.