When shell integration never engages in a pane — typically because a figterm-style PTY shim (kiro-cli-term, qterm) exec'd over the shell and swallowed its OSC 133 reports — the whole command-editor overlay is absent by design, and Ctrl+R used to fall through to the raw PTY with no hint of why the history menu didn't appear. Now that raw-path Ctrl+R raises a one-shot, per-pane notice (floating bottom-right) saying integration hasn't engaged, refined off-thread with the daemon's foreground-process name when it matches a known shim: the wrapper is the culprit worth naming, since "install integration" advice would mislead — the hooks are installed, something between the shell and tty7 is eating their output. The chord still reaches the PTY, so the shell's own reverse-i-search keeps working as the fallback. Guards keep it honest: silent inside an 8s startup grace window (slow rc files legitimately haven't reported yet), on the alt screen, or once integration has engaged (a running foreground command is then the obvious reason); retracted if a slow shell engages late; dismissed by the next keystroke or a 15s timeout. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
tty7
A GPU-rendered terminal in pure Rust.
GPU rendering on Zed's gpui · VT core from Alacritty
Install · Benchmarks · Shortcuts · Contributing
English · 简体中文
tty7 is a GPU-rendered terminal. An 11 MB cat finishes in 95 ms — about
2× faster than Alacritty, Ghostty, or Kitty on the same hardware — and the
built-in prompt gives you inline completion, syntax highlighting, and per-flag
hints for common commands. Pure Rust, native on macOS, Windows, and Linux, no
configuration needed.
- ⚡ Fast — an 11 MB
catcompletes in 95 ms, versus 179–239 ms for Alacritty/Ghostty/Kitty; DOOM-fire renders at 888 fps against their 485–617. Same machine, same grid; the harness is in the repo (benchmarks). - ⌨️ Prompt with completions — inline completion, syntax highlighting,
history, and in-terminal search. Type
git commit --,kubectl, ornpmand every flag and subcommand shows up with its description — signatures for ~100 common commands, generated from Fig's spec corpus. - 🧠 Shell-aware, zero config — new tabs and splits open in the current working directory, and path completion always follows where you are. zsh, bash, fish, and PowerShell are wired up automatically.
- 🔌 Sessions that survive — shells run in a background daemon, so closing a window, quitting the app, or swapping in a new build never takes a shell down. Detach and reattach, no tmux.
Also included: tabs (drag to reorder, inline rename, number keys to switch) and resizable splits, a command palette, click-to-open links, desktop notifications, and focus-follows-mouse. Eight built-in themes from light to dark, with the native window chrome following the one you pick, plus CJK/IME input.
Native builds for macOS, Windows, and Linux — every release ships all three.
📊 Benchmarks
All four terminals measured back-to-back on the same machine, same day, same 155×40 grid — Apple M1 Pro, macOS 26.3.1, five-run averages (2026-07-04):
| tty7 | Alacritty | Ghostty | Kitty | |
|---|---|---|---|---|
Plaintext IO — 11 MB cat (lower = better) |
95 ms | 239 ms | 179 ms | 185 ms |
| DOOM-fire frame rate (higher = better) | 888 fps | 485 fps | 552 fps | 617 fps |
| Cold-launch memory | 116 MB¹ | 105 MB | 128 MB | 130 MB |
¹ GUI 105 MB + the persistent daemon 11 MB.
tty7 reads the PTY at device speed and parses it in large batches off the render
path, and the hot paths are lock-free — so a big cat never waits on drawing.
(That's also what the background daemon buys you: it can run up to 16 MiB ahead
of the window before backpressure applies.)
Methodology (how each terminal is driven, grid fairness, known pitfalls) and
one-command reproduction live in scripts/bench/ —
run it yourself.
🚀 Install
Download the build for your platform from Releases:
- macOS —
tty7-<version>-macos-arm64.dmg(Apple Silicon) or…-x86_64.dmg(Intel); open it and dragtty7.appinto Applications. - Windows —
…-windows-x86_64-setup.exe(installer: Start Menu shortcut + uninstall entry), or…-windows-x86_64.zip(portable: unzip and runtty7.exe). - Linux —
…-linux-x86_64.tar.gz; extract and run./tty7(needs the usual x11/wayland runtime libraries).
⌨️ Shortcuts
Keys are shown in macOS notation — on Windows and Linux, read ⌘ as Ctrl. Open Settings with ⌘ , to browse or remap them all. The essentials:
| ⌘ T · ⌘ W · ⌘ ⇧ T | new tab · close tab · reopen closed tab |
| ⌘ D · ⌘ ⇧ D | split right · split down |
| ⌘ ] · ⌘ [ | next pane · previous pane |
| ⌘ ⏎ · ⌘ ⇧ ⏎ | toggle fullscreen · maximize / restore the pane |
| ⌘ K | clear the screen and scrollback |
| ⌘ P | command palette |
| ⌘ F | search the scrollback |
| ⌃ R | fuzzy-search shell history |
| ⌘ + · ⌘ − · ⌘ 0 | font size up · down · reset |
The full list — and any overrides — lives in Settings → Keybindings.
💭 Built with & inspired by
- gpui — Zed's GPU-accelerated UI framework
alacritty_terminal(Zed's fork) — VT emulator, grid, and PTY- gpui-component — UI widgets, via a pinned fork
- tmux — the inspiration for the persistent-daemon design
🤝 Contributing
Bug reports and PRs are welcome. For questions and ideas, join the Discord. Notable changes land in the CHANGELOG.
📝 License
Apache License 2.0 · © 2026 l0ng-ai