Internships
Register
Copyright © 2000—2026 JetBrains s.r.o.

Integration of an external terminal emulator into the IntelliJ Terminal

Description

Since its initial implementation, the embedded terminal in IntelliJ-based IDEs has been powered by JediTerm, a JVM library developed at JetBrains. JediTerm is responsible for terminal emulation: it decodes shell output and transforms it into internal models, such as the terminal screen text grid.

Over time, many new terminal emulation standards have been adopted by modern CLI applications and popular terminal emulators. Keeping up with these changes has significantly increased the complexity of maintaining JediTerm while preserving high quality. As a result, now we have a lot of problems with rendering in some CLI applications.

The idea of this project is to make an experiment: try to integrate some external well-developed terminal emulator to the IntelliJ Terminal.
It might improve stability, provide support of terminal emulation standards and future support from the community of this terminal emulator, reducing the burden of maintenance on the IntelliJ Terminal team.
Of course, this approach may introduce its own trade-offs and challenges, but it is hard to evaluate all of them without making such an experiment.

In this project you will:
1. Start with a high-level integration plan for a specific terminal emulator, prepared by your mentor.
2. Explore how terminal emulators work internally and how the IntelliJ Terminal is designed.
3. Take ownership of the technical implementation.

I will mentor you through this journey. Feel free to contact me with any questions via email. I will be glad to answer you!

Requirements

  1. Comfortable reading, writing, and discussing technical topics in English.

  2. Good knowledge of Kotlin or Java with a willingness to learn Kotlin (the IntelliJ Terminal is written in Kotlin).

  3. Basic experience with terminals and shells (bash, zsh, PowerShell, or similar): navigating files, running common CLI tools like git, grep, etc.

  4. Using AI Agents like Junie or Claude Code in your work would be a huge plus if it helps you work faster without sacrificing quality.

Admission

Internship Projects Summer/Fall 2026

Contact details

internship@jetbrains.com

Preferred internship location

Armenia
Cyprus
Czechia
Germany
Netherlands
Poland
Serbia
Spain
UK

Technologies

Java
Kotlin
Terminal

Area

Development

Internship timing preferences

Flexible start
Full-time preferable
Part-time acceptable
Applications by 16.03.2026
Interview by 17.04.2026
Feedback and final results by 22.04.2026