JetBrains swaps its IDE terminal to libghostty: Shift+Enter breaks lines, themes follow the IDE, escape codes stop garbling
Synopsis
Starting with 2026.3, JetBrains IDEs replace JediTerm, the terminal emulator they relied on for years, with libghostty, the terminal emulation library behind Ghostty. JediTerm never supported modern protocols that TUI apps increasingly depend on, so AI coding agents, Neovim and tmux fell short of standalone terminals. The new engine takes over escape-sequence parsing and terminal state while the IDE keeps rendering and higher-level integrations, and it handles almost 50 control sequences JediTerm ignored or misread.
Interpretation
The built-in terminal in JetBrains IDEs now uses libghostty for terminal emulation, with parsing and terminal state handled by that library while rendering and higher-level features stay on the IDE side. The terminal previously relied on JediTerm, while TUI apps increasingly depend on modern protocols JediTerm never supported, leaving the experience short of other terminals. JetBrains says the new engine handles almost 50 control sequences JediTerm ignored or misread, naming REP, colon-separated SGR colors and unknown APC, SOS and PM strings as examples.
Keyboard input now distinguishes Enter, Shift+Enter and Ctrl+Enter and can receive key-release and repeat events, so multi-line prompts and key combinations behave as documented. The old terminal could not tell these combinations apart, and Shift+Enter needed a setting that sent Esc+CR to produce a newline. The capability comes from the Kitty keyboard protocol, used by Claude Code, Codex, Pi, fish and Neovim; the terminal also supports xterm modifyOtherKeys for Vim, and the old setting is ignored.
The terminal answers dark/light queries from the current IDE theme and sends a notification when the theme switches, so most subscribing tools recolor with the IDE. Switching the IDE to dark mode used to leave terminal apps guessing, producing dark text on dark backgrounds or bright schemes inside a dark IDE unless each tool was configured by hand. The terminal answers CSI ? 996 n and notifies through mode 2031, which Claude Code, OpenCode, Pi, Neovim and tmux subscribe to; it also answers OSC 4 palette queries and the Kitty OSC 21 color query.
Perspective
The change covers the built-in terminal in JetBrains IDEs from 2026.3; the engine is already on by default in 2026.3 EAP builds and will stay so through Beta, Release Candidate and the stable release, and users can turn off terminal.use.ghostty.emulator in the Registry to fall back to JediTerm.
JetBrains says libghostty already parses many sequences the IDE does not act on yet, including OSC 52 clipboard, desktop notifications, ConEmu progress bars, Kitty graphics and styled and colored underlines, so only the parsing side is ready for those features.
