From Warp to Kitty: An IME Freeze That Forced a Terminal Migration | Chuanxilu for Skilled Homo sapiensTable of ContentsThe Diagnosis<br>Enter Kitty<br>Since I Switched: Let’s Look at the NumbersKitty Official Benchmarks (Linux/X11)<br>Third-Party Benchmarks (macOS, 2026)
My Actual SetupClean UI<br>Session Config<br>Key Bindings
Other Options I Considered<br>Warp vs Kitty: Design Philosophy<br>When a Tool Becomes a Platform<br>Epilogue<br>References
Spending the entire day inside OpenCode made my terminal my IDE. But when even typing became a problem, switching was the only option.
This started with a very specific, very annoying problem: Chinese IME freezing .<br>Inside Warp running OpenCode, typing Chinese was nearly unusable. Every three to five characters, the system would freeze for seconds. Input stopped responding. When it recovered, it would swallow some of the characters I’d typed. At first I blamed OpenCode, thinking maybe it was consuming too many resources. But I checked other applications and typing was perfectly fine there.<br>That narrowed it down to something specific to Warp + OpenCode + Chinese input — neither the system nor the input method alone was the problem.<br>The Diagnosis#<br>My debugging process was straightforward:<br>Warp + OpenCode + Chinese IME → severe freezing, nearly unusable<br>Warp + OpenCode + English only → also lags, just less severe<br>macOS Terminal.app + OpenCode + Chinese IME → fine<br>The problem wasn’t OpenCode, and it wasn’t the input method alone: Warp itself was unstable , and Chinese IME plus OpenCode just amplified it.<br>I didn’t dig into the root cause: whether it’s Warp’s block-based rendering pipeline interfering with IME event handling, or its GPU compositing layer conflicting with the input method. All I know is it didn’t work, and my daily workflow depends on this combination.<br>Enter Kitty#<br>I had installed Kitty years ago alongside Ghostty and Alacritty, around v0.24 (early 2022). Tried all three, eventually deleted the other two, and Kitty sat untouched for years. Warp I installed shortly after its release in 2024, and the Chinese IME issue was there from the start.<br>I dug out Kitty and launched it: v0.24 worked fine out of the box. So I upgraded it to the latest version[^4]:<br>curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
Then I opened Kitty, launched OpenCode, and switched to Chinese input.<br>It just worked. Smooth, fast, no freezes, no swallowed characters, no nothing.<br>The result far exceeded my expectations. I sat there for a moment. Weeks of frustration, solved by switching terminals. No configuration or tuning needed, no workaround required. Just a different terminal emulator.<br>The feeling was a mix of relief and confusion. Relief that I could finally work normally. Confusion about why Warp couldn’t do the same.<br>At that point I didn’t know Kitty’s performance numbers. I just knew it felt fast, stable, and unobtrusive.
Since I Switched: Let’s Look at the Numbers#<br>After the switch, I looked up Kitty’s official performance docs and third-party benchmarks. Turns out the numbers back up the feel:<br>Kitty Official Benchmarks (Linux/X11)#<br>Kitty ships a built-in benchmark tool (kitten __benchmark__) that measures parser throughput. Higher is better (MB/s)[^1]:<br>TerminalTotal throughputKitty 0.33 134.55 GNOME Terminal 3.50.161.83Alacritty 0.13.154.05WezTerm 2023071248.50Konsole 23.08.0427.48Alacritty + tmux24.73Kitty’s throughput is more than 2x the next best terminal. These measurements are on Linux/X11 and focus on pure parser speed (rendering suppressed). On macOS the relative ranking may differ, but the architecture, with SIMD-accelerated escape code parsing and GPU-cached character rendering, is the same.<br>Kitty’s docs also cite third-party measurements showing it has “best in class keyboard to screen latency.”<br>Third-Party Benchmarks (macOS, 2026)#<br>DevToolReviews ran a comprehensive test on an M3 Max MacBook Pro[^2]:<br>BenchmarkGhosttyKittyAlacrittyWarpiTerm2100K lines cat0.7s0.8s0.9s1.8s2.4s1M lines cat5.1s5.8s6.2s14.2s22.1sInput latency~2ms~3ms~3ms~8ms~12msIdle RAM (1 tab)28MB35MB22MB210MB85MB8 tabs after 4hrs95MB110MB45MB380MB290MBObservations:<br>Throughput : Ghostty and Kitty are nearly tied. Warp is ~2x slower. iTerm2 is ~3x slower.<br>Input latency : Ghostty at 2ms and Kitty at 3ms, both below perception threshold. Warp’s 8ms is noticeable to fast typists. iTerm2’s 12ms is clearly felt. The Chinese IME freezing I experienced was far worse than these numbers suggest — full seconds of unresponsiveness, not milliseconds.<br>Memory : Warp uses 6x the idle RAM of Kitty, 7.5x of Ghostty. I routinely run 5-6 tabs each with an OpenCode session. That difference adds up to hundreds of MB.<br>Pure parser throughput (Kitty official Linux test) : 134.55 MB/s vs Alacritty’s 54.05 MB/s.<br>Kitty’s official Linux benchmarks and third-party macOS benchmarks rank differently because...