Executive Summary

Kotlin Toolchain version 0.13 has been officially recommended by JetBrains as the default entry point for new Kotlin Multiplatform (KMP) projects, after previously only holding Alpha status earlier this year. This release adds the interactive kotlin new command, Kotlin/Native compiler caching that makes native rebuilds much faster, Swift Package Manager support, as well as AI agent integration via an official skill and an MCP server for hot reload.

The Problem It's Trying to Solve

I read the opening section, and what stands out is the classic KMP problem: once a project extends to iOS, web, or desktop, developers are forced to learn unfamiliar platform-specific toolchains — installing Xcode, configuring the Android SDK, and so on, each with its own separate setup process. Kotlin Toolchain positions itself as a single CLI that unifies environment setup, project creation, building, testing, and publishing, with declarative configuration — so developers (or AI agents helping with coding) don't need to memorize the details of each platform.

Key Features and Code Examples

The ones I feel have the biggest impact on everyday workflow, in my opinion:

  • kotlin new: a new command with an interactive setup flow, similar to the KMP Wizard on the web — it first asks for the application type, then the target platform. kotlin init still exists and its behavior has been aligned with kotlin new, the difference being that init generates files directly in the current directory.
# ilustrasi — command baru di Kotlin Toolchain 0.13
kotlin new
# akan muncul prompt interaktif:
# 1) pilih tipe aplikasi (KMP, JVM, Android, dst)
# 2) pilih target platform (iOS, Android, Desktop, Web, ...)
  • Smoother iOS onboarding: Xcode installation diagnostics (license, first-run) are now clearer, iOS simulator runtimes are downloaded automatically, and a simulator is created automatically if none exists.
  • Download progress bars in the CLI (TUI) for the JDK, Android SDK components, iOS runtimes, and the compiler — so there's no more guessing whether a process is stuck or not.
  • Android SDK is auto-provisioned when the project is imported into the IDE, not just when running kotlin build/kotlin run as before. Previously, this was often a source of errors if the IDE was opened before the first build. Validation of the namespace and application ID has also been tightened so nothing slips through and gets published with a sample ID like com.example.app.
  • Project sync status is now shown directly in the IDE editor.
  • SwiftPM support: modules with Apple targets (e.g. ios/app) can import Swift Package Manager dependencies directly in the manifest:
product: ios/app

dependencies:
  - swiftPackage:
      repository: "https://github.com/firebase/firebase-ios-sdk.git"
      version: "12.17.0"
      products: ["FirebaseCore", "FirebaseFirestore", "FirebaseAnalytics"]

The imported Objective-C API is used with the swiftPMImport prefix followed by the module name:

// app/src/app.kt
import swiftPMImport.app.FIRAnalytics
import swiftPMImport.app.FIRApp

There's also a localSwiftPackage key for local SwiftPM packages.

  • Multiplatform library publishing is more complete: Compose Resources metadata and SwiftPM dependencies are now published along with the build artifact, and Compose Resources can also be resolved from third-party libraries.
  • The one I think is most significant from a performance standpoint: the Kotlin/Native compiler cache (tracked in KTC-5422). Already-compiled native dependencies are cached and reused across builds — even across projects. The project's own code gets per-file caching, so the linking process only rebuilds the parts that changed. This feature builds on the existing settings.kotlin.compileIncrementally setting, and supports non-optimized debug binaries on compatible targets (compilation to .klib remains full as usual).
  • For AI agent workflows, there's a Hot Reload MCP server plus an official skill that can be installed with:
npx skills add kotlin/kotlin-agent-skills

JetBrains states that in their internal benchmarks, AI agents became more reliable at generating and maintaining Kotlin Toolchain projects while consuming fewer tokens.

Impact and Upgrade Notes

The most important thing for those already using Kotlin Toolchain: just run kotlin update in the terminal to upgrade to 0.13.0. To access these features from the IDE, the minimum versions are IntelliJ IDEA 2026.2.3 or Android Studio Rabbit 1 | 2026.2.1 (or newer), plus the latest version of the Kotlin Toolchain plugin must be installed. JetBrains also says their focus going forward is still on closing the gap for existing Gradle projects first, before pushing for widespread migration — so if your project is still pure Gradle, there's no need to rush to switch. The roadmap also includes installation via brew install kotlin, an out-of-the-box AI skill, Swift Export support, and automation of the app store publishing workflow.

---

First announced on the JetBrains Kotlin blog. Read the original source for full details.