JetBrains IDE terminal switches to Ghostty's libghostty engine in 2026.3

The built-in terminal in JetBrains IDEs now runs on libghostty, the terminal emulation library behind the Ghostty terminal. According to JetBrains, the change starting with version 2026.3 replaces JediTerm, the emulator the company relied on for many years, and brings support for modern terminal protocols used by AI coding agents and full-screen apps.
- From 2026.3, the built-in terminal in JetBrains IDEs runs on libghostty, replacing JediTerm.
- Support for the Kitty keyboard protocol lets Shift + Enter start a new line in prompts of tools like Claude Code and Codex.
- The terminal now reports the IDE's dark or light theme to apps and notifies them when it changes.
- JetBrains says the new engine handles almost 50 control sequences that JediTerm ignored or misread.
- The engine is on by default in 2026.3 EAP builds, and can be turned off via the terminal.use.ghostty.emulator registry key.
Why JetBrains replaced JediTerm
JetBrains says more terminal work now goes through tools that demand more than a shell prompt: AI coding agents such as Claude Code and Codex, full-screen apps like Neovim and tmux, and system monitors and dashboards. These tools rely on modern terminal protocols, which JediTerm never supported.
The company describes the gap as a minor inconvenience, since the experience did not quite match other terminals but was not disruptive enough to prompt a bug report. JetBrains chose libghostty over other options it considered, citing that many projects already embed it and that it is widely regarded as reliable and performant.
In the new setup, libghostty takes over parsing and terminal state. The IDE still handles rendering, higher-level features and integrations.
Keyboard, theme and rendering changes
With support for the Kitty keyboard protocol, terminal apps can now tell Enter, Shift + Enter and Ctrl + Enter apart, and can request key-release and repeat events. JetBrains lists Claude Code, Codex, Pi, the fish shell and Neovim among the tools that use this protocol. The terminal also supports xterm's modifyOtherKeys, an older protocol used by Vim. In practice, Shift + Enter starts a new line in a prompt instead of sending a half-written message. The old setting that sent Esc + CR on Shift + Enter is no longer needed and is ignored.
Theme handling also changes. The terminal now answers the dark/light query (CSI ? 996 n) from the current IDE theme and sends a notification through mode 2031 when the theme is switched. According to JetBrains, Claude Code, OpenCode, Pi, Neovim and tmux subscribe to these notifications, so most of them switch automatically with the IDE. The terminal also answers OSC 4 palette queries and the Kitty OSC 21 color query, in addition to the OSC 10/11 queries JediTerm already handled. Programs can set extended palette colors 16 to 255 with OSC 4, while colors 0 to 15 stay under the control of the IDE theme.
The new engine handles almost 50 control sequences that JediTerm either ignored or misread. Examples include:
- REP (CSI Ps b): ncurses uses it for runs of 7 or more identical characters, so some lines previously rendered with missing characters.
- Colon-separated SGR colors (38:2::r:g:b): JediTerm printed the colons and merged the digits into the wrong attribute.
- Unknown APC, SOS and PM strings: JediTerm printed them as text. They are now silently dropped.
Also supported are left/right margins (DECSLRM), protected areas, tab-stop control, insert mode, XTSAVE/XTRESTORE, the Kitty CSI 22 J scroll-and-clear and X10 mouse reporting. Cursor blink mode (?12) is now respected, whereas before the cursor always blinked.
What comes next
JetBrains says libghostty already parses sequences the IDE does not act on yet. These include the OSC 52 clipboard, desktop notifications (OSC 9/777), ConEmu progress bars, Kitty graphics, and styled and colored underlines. The company says parsing is no longer the bottleneck and that these features should arrive faster than they did with JediTerm.
The groundwork covers features known from standalone terminals: copying to the clipboard from a program on a remote server, notifications when an app in the terminal finishes a task, progress bars for long tasks, and images shown directly in the terminal.
Availability and how to switch back
The libghostty-based engine is on by default in the reworked terminal in the 2026.3 EAP builds of JetBrains IDEs, and JetBrains says it will stay that way through the Beta and Release Candidate builds and in the stable release.
Users who run into problems can return to JediTerm via Help | Find Action, then Registry, and turning off terminal.use.ghostty.emulator. JetBrains asks for feedback through a comment on IJPL-218849 or a bug report.
JetBrains also thanked the Ghostty team, saying they approached the company at a conference last year about using their emulator. It named Mitchell Hashimoto, Tim Culverhouse and all Ghostty contributors, and said it looks forward to contributing back.
What it means for developers
For developers who use AI coding agents or terminal editors inside a JetBrains IDE, the update aims to make those tools behave as they do in standalone terminals. According to JetBrains, multi-line prompts, shortcuts and theme matching should work without manual configuration, and broken lines, stray colons and garbage text in colored output should no longer appear.
JetBrains AI: The Terminal in JetBrains IDEs Now Runs on libghostty


