[BUG] Claude Code TUI fails to render in macOS 26.3.1 Terminal.app — process runs but screen stays blank
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Claude Code v2.1.81 launches but the TUI never renders in macOS 26.3.1's default Terminal.app. The terminal shows only the shell prompt line (% claude) with a blank screen below. The process is alive — ps aux confirms it's running, and a sample of the process shows Bun Pool threads, HTTP Client thread, and the main thread are all active deep in application code. The binary gets past _dyld_start and Bun initialization successfully; the issue is specifically that the TUI framework never paints to the terminal.
TERM=dumb claude "test" also produces no output.
The same binary (v2.1.81) launches and renders correctly in Ghostty on the same machine.
What Should Happen?
The interactive TUI should render in Terminal.app, as it does in Ghostty
Error Messages/Logs
Process sample of the hung instance (main thread):
859 Thread_619863 DispatchQueue_1: com.apple.main-thread (serial)
+ 859 start (in dyld) + 7184
+ 859 ??? (in 2.1.81) load address 0x100520000 + 0x2ca2cc
+ 859 ??? (in 2.1.81) load address 0x100520000 + 0x2ce198
[... deep into application code, all symbols stripped]
Active threads confirm Bun is running:
Thread_619892: Bun Pool 0
Thread_619893: Bun Pool 1
Thread_619894: Bun Pool 2
Thread_619902: HTTP Client (blocked on kevent64)
Thread_619923: Bun Pool 3
Steps to Reproduce
- macOS 26.3.1 (25D2128), Apple Silicon
- Claude Code v2.1.81 (native binary via standalone installer at ~/.local/share/claude/versions/2.1.81)
- Open default macOS Terminal.app
- Run claude
- TUI never renders — blank screen, process alive
Workaround: Use Ghostty (or iTerm2) instead of Terminal.app.
Related issues: #17787 (Terminal.app escape sequence handling), #19730 (Terminal.app freezes with Claude Code sessions)
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
It was working the morning before, unsure what version that was.
Claude Code Version
2.1.81
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗