Copilot CLI 1.0.86 reliably crashes Ghostty 1.3.1 on macOS; Terminal.app unaffected
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Active
- Tech stack
- macos, node.js, shell
- Domain
- cli, operating-systems
Research direction
Start by reproducing the crash with Ghostty and Terminal.app, then inspect the shutdown EPIPE alongside TERM=xterm-ghostty and the image-storage-limit=0 control. Done means identifying a Copilot-side trigger and a safe fallback, or establishing that the fault belongs in Ghostty; the issue names no source file or test.
Written by the indexing model from the issue text.
Description
TL;DR: Running Copilot CLI inside Ghostty kills the terminal within seconds, five out of five attempts, taking every tab and every child process with it. The exact same command in Terminal.app on the same machine works fine. Copilot's own logs show no panic and no OOM, so the terminal is what dies, but Copilot is a reliable trigger and right now it is unusable in Ghostty.
Environment
- GitHub Copilot CLI 1.0.86,
npm install -g @github/copilot - Ghostty 1.3.1 (crashes) vs Terminal.app (fine)
- macOS 26.6.1 (25G76), arm64
- TERM=xterm-ghostty, zsh, Node v24.14.0 system / v24.20.0 bundled
Steps to reproduce
- Install and authenticate
- Open Ghostty
- Run any prompt,
copilot -p "..."or interactive - Ghostty terminates within a few seconds
Expected: the prompt runs, or fails cleanly.
Actual: the terminal emulator dies and takes the shell, the CLI, and every other tab with it. Work in unrelated tabs is lost.
Control: identical steps in Terminal.app, same machine, same version, same MCP servers, same shell. No crash. That is the part that makes this worth your time even though the fatal fault is on the terminal side.
What the logs show
Copilot looks healthy right up to the end. No panic, no OOM, no abort. The only error:
[ERROR] [shutdown] Failed dispose: PromptMode.stdout (3ms): Error: write EPIPE
Reader gone, so the terminal died first. Child processes exit 137.
Hypothesis I tested and ruled out
Ghostty has an open segfault on terminal reset after displaying an image (ghostty-org/ghostty#5649), and your built in MCP server is the only one of my four advertising base64 PNG icons:
server_info: Implementation { name: "github-mcp-server", ...
icons: Some([Icon { src: "data:image/png;base64,...", mime_type: Some("image/png") }, ...]) }
My three other MCP servers all report icons: None. So I set Ghostty's image-storage-limit = 0, verified it was live in a freshly launched window, and it still crashed. The image path is not the cause. Recording it so nobody repeats the experiment.
Mechanism: unknown. Something in how the CLI drives the terminal takes Ghostty down and does not affect Terminal.app. I have not narrowed it further.
Why it is worth looking at on your side
- Five for five, from a clean install, with no third party configuration required
- Ghostty is widely used and the failure is total, not cosmetic. The process dies and unrelated work is lost
- There is already a known rough edge between these two (ghostty-org/ghostty discussion #9264, Enter key not registering in your interactive prompts), so the pairing has form
- Even if the fix belongs to Ghostty, a capability check or a quieter fallback on your side would unblock users now rather than after a Ghostty release
Happy to run an instrumented build, capture raw output to a file, or grab a spindump.
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/copilot-cli
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
github/copilot-cli#4932 ·
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
github/copilot-cli#4909 ·
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
github/copilot-cli#4906 ·
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
github/copilot-cli#4848 ·
-
area:agents area:mcp
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
github/copilot-cli#4729 ·
All issues in github/copilot-cli
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
elastic/gradle-plugins#156 ·
-
Priority/High ready-for-agent Severity/Major Type/Bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
comp/cli P3 type/docs
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
NousResearch/hermes-agent#119756 · 1 comment ·
-
comp: build/pipeline type: bug version: current (v17+)
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
angular/angularfire#3766 ·
-
out-of-date
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
CachyOS/CachyOS-PKGBUILDS#1903 ·