AI NewsDev toolsAnnouncement

JetBrains IDEs swap their terminal engine for libghostty

JetBrains has replaced JediTerm, the terminal engine inside its IDEs for many years. It now runs on libghostty, the library behind the Ghostty terminal.

AI News

Editorial2 min read

LinkedInX
JetBrains social card for the libghostty terminal announcement

Image: JetBrains

Why it mattersShift plus Enter now adds a new line in Claude Code, Codex and Pi inside a JetBrains IDE. The embedded terminal picks up the IDE theme by itself.

JetBrains has replaced the terminal engine inside its IDEs. The company says libghostty now does the parsing and terminal state work. JediTerm did that work for many years. Libghostty is the library behind Mitchell Hashimoto's Ghostty terminal. JetBrains writes that the change is on by default in the 2026.3 release. It stays that way through the beta, the release candidate and the stable build.

What the switch fixes for AI coding agents

JetBrains writes that Claude Code, Codex and Pi all speak the Kitty keyboard protocol. The fish shell, Neovim and tmux speak it too. JediTerm did not. The company says Shift plus Enter now starts a new line in a prompt. Before, it sent a half written message. Ctrl, Shift and Alt combinations now reach the application. The old workaround setting that sent Esc plus CR on Shift plus Enter is ignored.

The embedded terminal now answers the dark and light query at CSI 996 n. The answer comes from the current IDE theme. The terminal sends a mode 2031 notification when the user switches modes. JetBrains writes that Claude Code, OpenCode, Pi, Neovim and tmux subscribe to the notification. They switch with the IDE. The terminal also answers the OSC 4 palette query. OpenCode and Pi read that palette. Junie CLI, JetBrains's own agent, asks whether the terminal is dark or light.

Nearly 50 control sequences that JediTerm got wrong

JetBrains says the new engine handles close to 50 control sequences that JediTerm either ignored or misread. The company lists REP. The ncurses library uses REP for runs of seven or more of the same character. Some lines were missing letters before. Colon separated SGR colors like 38:2::r:g:b printed the colons as text under JediTerm. Unknown APC, SOS and PM strings were printed as text too.

Left and right margins now work. So do protected areas, tab stop control, insert mode, XTSAVE and XTRESTORE. Kitty's CSI 22 J scroll and clear works. X10 mouse reporting works. The cursor blink mode is respected. Before, the cursor always blinked.

Features the engine parses but the IDE has not drawn yet

JetBrains writes that libghostty already parses sequences the IDE does not yet act on. OSC 52 covers clipboard. OSC 9 and OSC 777 cover desktop notifications. ConEmu progress bars, Kitty graphics, and styled and colored underlines are also parsed. The company says parsing is no longer the bottleneck. These features should arrive faster than they did with JediTerm.

In practice, that groundwork covers things readers may know from standalone terminals. A program on a remote server can copy to the clipboard. A notification can tell you when Claude finishes a prompt and is waiting for an answer. A progress bar can run for a long task. An image can render directly in the terminal.

The company says it worked with Mitchell Hashimoto, Tim Culverhouse and the Ghostty contributors through the transition. If the new terminal fails, JetBrains writes that one toggle switches back to JediTerm. The toggle lives in Help, Find Action, Registry, under terminal.use.ghostty.emulator.

Source

Primary source: The Terminal in JetBrains IDEs Now Runs on libghostty.

SourceJetBrains

This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.

Share
LinkedInX
Start a project