September 26, 2026

Kotlin Toolchain 0.12: what shipped, should you adopt it

Kotlin Toolchain 0.12 adds multiplatform library publishing, wasm-js/app support, and CLI Compose Hot Reload. It's alpha; here's what to weigh first.

News

Tech

JetBrains published Kotlin Toolchain 0.12 in September 2026. Its Kotlin Toolchain 0.12 release notes open with a caveat worth repeating before the feature list: the tool is "still in Alpha and under active development." That matters, because 0.12 adds three things a Gradle-based Kotlin Multiplatform team might actually want: one config file for publishing a multiplatform library, a wasm-js/app module type you can build into a deployable web app, and Compose Hot Reload driven from the command line. None of it replaces Gradle. All of it ships with real gaps its own documentation lists.

What shipped in Kotlin Toolchain 0.12

Three features carry the release: multiplatform library publishing through one configuration file, a new wasm-js/app product type for building browser-deployable Wasm apps, and Compose Hot Reload callable from the CLI with an MCP server behind it. The commands themselves run through the toolchain's own kotlin binary, the same naming collision behind why the kotlin CLI command is being renamed to kotlinr in Kotlin 2.4.20.

Multiplatform library publishing: one config, every platform

Publishing a Kotlin Multiplatform library through Gradle usually means separate publish tasks, artifact wiring, and metadata per target. Kotlin Toolchain 0.12 collapses that into one file. JetBrains says multiplatform libraries now "work too, with exactly the same configuration" as JVM libraries, covering "the common API, one artifact per platform, the sources, and the module publication metadata." The catch is timing: the Kotlin Toolchain publishing guide states plainly that "the publishing feature is in preview, and is likely to change," and the same release notes add that "resources of Compose Multiplatform libraries are not part of the publication yet." Expect to rewrite any publishing config you write today rather than maintain it long term.

wasm-js/app: what you can and can't do with it yet

The wasm-js/app product type docs describe the module plainly: "Use the wasm-js/app product type in a module to build a WebAssembly application that can run in browsers using the Kotlin/Wasm technology." The same page is just as direct about what's missing. "Currently, defining direct NPM dependencies for your application is not supported." "Tests targeting Wasm JS target are not supported yet." And "there are no extra packaging facilities at the moment, and the package command is not supported for this product type." None of that is exotic to want in a real web deploy, npm interop, CI test coverage, a packaging step, so treat wasm-js/app as an early look rather than a target for anything you plan to ship.

Compose Hot Reload from the CLI and its MCP server

Compose Hot Reload already runs inside an IDE. Kotlin Toolchain 0.12 gives it a command-line front end: run kotlin run --compose-hot-reload-mode and the toolchain drives Hot Reload without an IDE session open. A new MCP server sits behind that command and lets a coding agent interact with, reload, restart, and pull window snapshots of a running Compose app on its own. That's the missing piece for the MCP server Compose Multiplatform shipped with Hot Reload in version 1.12.0 a month earlier: Compose Multiplatform already let an agent talk to a running app, and Toolchain 0.12 is what lets that same agent drive the build and the reload cycle instead of waiting on someone at a keyboard.

What alpha status actually restricts

JetBrains doesn't hedge on the label. The Kotlin Toolchain docs put it directly: "The Kotlin Toolchain is Alpha. We'd love your feedback!" The version history backs that up. GitHub's v0.12.0 release tag is dated August 25, 2026, and JetBrains' blog post announcing the release is dated September 2026. The line didn't ship clean either: a release-artifact mix-up on JetBrains' infrastructure overwrote the published 0.12.1 install archive with an unreleased build, so the CLI wrapper's checksum check failed and 0.12.1 couldn't be installed correctly until a v0.12.2 patch fixed it. For a Gradle-based team, alpha means what it says: config formats can change, a release can need a same-month patch, and nothing here belongs in a critical build path yet.

What your project needs before you install it

The same release notes set concrete floors, and they're a bigger jump than a routine point release implies. "Only JDK 17 and higher are supported to compile your code." "The minimum Kotlin compiler version was raised from 2.1.10 to 2.2.20." And for full IDE support: "To get support for Kotlin Toolchain's latest features, use IntelliJ IDEA 2026.2.1 (or newer)." An older Kotlin or IDE version blocks you well before the alpha label does.

How to try Kotlin Toolchain 0.12 on an existing project

1. Install or update via kotlin update

Once it's installed, staying current is one command. The CLI reference documents it directly: "Run kotlin update to update the Kotlin CLI scripts and the toolchain distribution to the latest released version. Use the --dev option if you want to try the bleeding edge dev build of the Kotlin Toolchain (no guarantees are made on these builds)." Skip --dev unless you're ready to debug a build JetBrains itself won't vouch for.

2. Start with a new module, not your whole Gradle build

Point the toolchain at one new library module, or a fresh wasm-js/app target, rather than your production Gradle build. That fits Kotlin Multiplatform's incremental adoption model generally: share isolated modules first, expand over time. It also means an alpha config format changing under you costs one module's worth of rework, not a build-wide rewrite.

3. Know what doesn't move yet

There's no documented path for migrating an existing Gradle-based Kotlin or KMP project onto the toolchain. A "Migrating from Gradle" entry shows up in a docs nav menu, but the page behind it doesn't exist. Don't plan around one appearing soon. And if you publish a Compose Multiplatform library through the toolchain, its resources still aren't part of the publication, so that packaging step stays wherever you're already handling it.

Should a Gradle-based KMP team adopt it now?

For a team already shipping Kotlin Multiplatform on Gradle, Kotlin Toolchain 0.12 is worth installing next to that build rather than swapping it in. Try it on one thing: a library you're about to publish, a Wasm experiment, or a Compose Hot Reload session you'd normally run from an IDE. Skip your main build's publishing pipeline, and don't wait on a Gradle-migration guide that doesn't exist yet. The three features are genuinely useful in isolation, and JetBrains itself hasn't called any of them finished.

FAQ

Is Kotlin Toolchain 0.12 stable enough for production?

No. JetBrains labels the whole toolchain Alpha, and the publishing feature specifically as preview and likely to change. A release-artifact mix-up also broke installation of 0.12.1 within weeks of its release, fixed by a 0.12.2 patch. Use it for experiments and new modules, and keep production publishing on your current pipeline.

Does Kotlin Toolchain replace Gradle for Kotlin Multiplatform projects?

Not yet, and there's no documented path for migrating an existing Gradle-based project onto it. A "Migrating from Gradle" label exists in the docs navigation, but the page behind it isn't published. Install the toolchain alongside Gradle for new modules or experiments instead of planning a switch.

What Kotlin version do I need for Kotlin Toolchain 0.12?

JDK 17 or higher to compile, Kotlin compiler 2.2.20 or higher (up from the previous 2.1.10 minimum), and IntelliJ IDEA 2026.2.1 or newer for full IDE support of the latest features.

Does Compose Hot Reload from the CLI require Kotlin Toolchain?

The kotlin run --compose-hot-reload-mode command and its MCP server are part of Kotlin Toolchain 0.12 specifically. Compose Hot Reload itself predates the toolchain and already works from inside an IDE without it.

Share this article

Author Image

HighCircl Editorial Team

The HighCircl editorial team writes about hiring software engineers, nearshore development, and engineering team building. Our articles draw on direct experience sourcing and placing senior developers across Poland, Hungary, Slovakia, Serbia, Slovenia, Romania, and Spain — and on candid conversations with the CTOs and engineering leads who hire them.

HighCircl is a nearshore engineering network that delivers matched candidate shortlists in 72 hours. Every piece of content we publish is informed by real engagement data: actual developer rates, real hiring timelines, and what separates engineering teams that scale cleanly from those that stall.

Take Me to the Experts

Access our network of industry-leading software engineers.

Start Now