Uppercut: Karate in IntelliJ IDEA
Uppercut makes .feature files first-class in IntelliJ IDEA. It works in IDEA Community and Ultimate, from 2026.1 on, with Karate 1.x fully supported and Karate 2.x in early access since version 3.0.0.
Free and open source under Apache 2.0 - no account, no license key, no paid tier. The source is on GitHub; issues and pull requests are welcome.
Support status Settings reference Troubleshooting
Full Karate syntax support
Feature files get real language support, not Gherkin with the Karate parts painted grey. Step actions, match markers, embedded JSON, XML and JavaScript are all understood. In IDEA Community, where JetBrains’ JavaScript plugin isn’t available, the plugin brings its own JavaScript engine for the code inside your features - including the syntax Karate 2 accepts, such as optional chaining, ??, classes and BigInt literals.
- Highlighting
- Karate keywords, step actions, match markers and tags, with embedded JSON, XML and JavaScript highlighted in their own right.
- Completion
- Step actions as you type, and
karate.*members matched to the Karate version on your module’s classpath, sokarate.offers what your Karate actually has. - Navigation
- Jump from a
call read('other.feature')to the feature, from a variable to itsdef, and from a step to its definition. A variable that holds a called feature’s result follows the call: onauth.token, whereauthiscall read('auth.feature'),tokenjumps to thedef tokeninsideauth.feature, and Find Usages on thatdeffindsauth.tokenin the callers. Find usages and rename work across features. - Formatting
- Reformat feature files, including the JavaScript and JSON inside them.
- Inspections and quick fixes
- Undefined steps, broken or misaligned tables, missing
Examples, a misplacedBackground, JSON that isn’t valid, and an intention to turn aScenariointo aScenario Outline.
Run from the gutter
Click the run icon next to a feature, a scenario or a tag, or right-click a folder that holds feature files and choose Karate tests in ‘…‘ - in a Gradle project that entry takes the place of Gradle’s own “Tests in” for that folder, since the folder’s Java runner class is still runnable on its own. Results appear in IntelliJ’s test tree as they happen, with each scenario’s steps and their output beneath it, called features nested under the scenario that called them, and a double-click that takes you to the source line. Environment and parallelism come from the run configuration or from the defaults you set once.
Karate 1 and Karate 2 projects both work, and the version is detected per module, so a repository can migrate one module at a time. If you’d rather decide yourself, one setting pins it.
Debugging
Press Debug and a breakpoint on a step in a feature file stops the run there, on both Karate majors. The debugger shows the scenario’s variables as Karate holds them, and Evaluate runs Karate expressions in the paused scenario. Stepping through steps isn’t built yet, and Java breakpoints no longer stop during a Karate run - see the status page for both.