Two Gradle 19,597 plugins build BookNest's Kotlin. AGP, com.android.application, has had built-in Kotlin since AGP 9.0 (January 2026): it compiles .kt files through a runtime dependency on the Kotlin Gradle Plugin (KGP), so the org.jetbrains.kotlin.android plugin of older tutorials is gone. The Compose 234 compiler, org.jetbrains.kotlin.plugin.compose, is a Kotlin compiler plugin that rewrites each @Composable function so the runtime can track and skip it (How Recomposition Works); it lives in the Kotlin repository and shares its version. AGP 9.4.0 declares KGP 2.2.10 as a floor, and Gradle raises it to the version the Compose plugin brings:
./gradlew buildEnvironment | grep -E "gradle:9.4.0$|kotlin-gradle-plugin:2.2"| \--- com.android.tools.build:gradle:9.4.0 | +--- org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.10 -> 2.4.20
So kotlin = "2.4.20" in the version catalog (Version Catalogs) pins the whole Kotlin toolchain. Adding the old plugin back fails configuration with "The 'org.jetbrains.kotlin.android' plugin is no longer required for Kotlin support since AGP 9.0". Built-in Kotlin also replaces android { kotlinOptions { } } with a top-level kotlin { compilerOptions { } }, and jvmTarget defaults to compileOptions.targetCompatibility. Before Kotlin 2.0 the Compose compiler was an AndroidX 234 artifact set by composeOptions { kotlinCompilerExtensionVersion }.