diff --git a/build-support/build.gradle.kts b/build-support/build.gradle.kts
index 744f47c7..eb65183f 100644
--- a/build-support/build.gradle.kts
+++ b/build-support/build.gradle.kts
@@ -11,7 +11,7 @@ repositories {
 }
 
 dependencies {
-    implementation(libs.kotlin.gradleApi)
+    implementation(libs.kotlin.gradle)
     implementation(libs.plugin.buildconfig)
     implementation(libs.plugin.mavenPublish)
     implementation(libs.plugin.dokka)
diff --git a/build-support/src/main/java/dev/drewhamilton/poko/build/PokoBuildPlugin.kt b/build-support/src/main/java/dev/drewhamilton/poko/build/PokoBuildPlugin.kt
index 538b5ba6..a8b66fb6 100644
--- a/build-support/src/main/java/dev/drewhamilton/poko/build/PokoBuildPlugin.kt
+++ b/build-support/src/main/java/dev/drewhamilton/poko/build/PokoBuildPlugin.kt
@@ -44,7 +44,6 @@ class PokoBuildPlugin : Plugin<Project> {
             project.pluginManager.apply("com.vanniktech.maven.publish")
 
             val mavenPublishing = project.extensions.getByName("mavenPublishing") as MavenPublishBaseExtension
-            @Suppress("UnstableApiUsage")
             mavenPublishing.apply {
                 coordinates(project.pokoGroupId, project.name, project.pokoVersion)
 
diff --git a/build.gradle.kts b/build.gradle.kts
index 3030af6d..95522a65 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -3,8 +3,8 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
 plugins {
-    alias(libs.plugins.kotlin.jvm) apply false
-    alias(libs.plugins.kotlin.multiplatform) apply false
+    // Note: kotlin-jvm and kotlin-multiplatform plugins are added implicitly via build-support
+
     alias(libs.plugins.kotlinx.binaryCompatibilityValidator) apply false
     alias(libs.plugins.ksp) apply false
 }
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 595a09b2..9987ec79 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -24,6 +24,7 @@ kotlinCompileTestingFork = { module = "dev.zacsweers.kctfork:core", version.ref
 kotlin-embeddableCompiler = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "kotlin" }
 kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
 kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
+kotlin-gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
 kotlin-gradleApi = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin-api", version.ref = "kotlin" }
 
 assertk = "com.willowtreeapps.assertk:assertk:0.28.1"
@@ -31,7 +32,7 @@ asm-util = "org.ow2.asm:asm-util:9.7.1"
 testParameterInjector = "com.google.testparameterinjector:test-parameter-injector:1.18"
 
 plugin-buildconfig = "com.github.gmazzo.buildconfig:plugin:5.5.1"
-plugin-mavenPublish = "com.vanniktech:gradle-maven-publish-plugin:0.25.3"
+plugin-mavenPublish = "com.vanniktech:gradle-maven-publish-plugin:0.30.0"
 plugin-dokka = "org.jetbrains.dokka:dokka-gradle-plugin:1.9.20"
 
 [plugins]
diff --git a/poko-annotations/build.gradle.kts b/poko-annotations/build.gradle.kts
index 5748b36d..4ae1c9d6 100644
--- a/poko-annotations/build.gradle.kts
+++ b/poko-annotations/build.gradle.kts
@@ -1,7 +1,7 @@
 import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
 
 plugins {
-  alias(libs.plugins.kotlin.multiplatform)
+  id("org.jetbrains.kotlin.multiplatform")
 }
 
 pokoBuild {
diff --git a/poko-compiler-plugin/build.gradle.kts b/poko-compiler-plugin/build.gradle.kts
index 74ff7909..83b0a8bc 100644
--- a/poko-compiler-plugin/build.gradle.kts
+++ b/poko-compiler-plugin/build.gradle.kts
@@ -1,7 +1,7 @@
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
 plugins {
-    alias(libs.plugins.kotlin.jvm)
+    id("org.jetbrains.kotlin.jvm")
     alias(libs.plugins.ksp)
 }
 
diff --git a/poko-gradle-plugin/build.gradle.kts b/poko-gradle-plugin/build.gradle.kts
index 8b9bbf96..6290eb0b 100644
--- a/poko-gradle-plugin/build.gradle.kts
+++ b/poko-gradle-plugin/build.gradle.kts
@@ -1,6 +1,6 @@
 plugins {
     `java-gradle-plugin`
-    alias(libs.plugins.kotlin.jvm)
+    id("org.jetbrains.kotlin.jvm")
 }
 
 pokoBuild {
diff --git a/poko-tests-without-k2/build.gradle.kts b/poko-tests-without-k2/build.gradle.kts
index abdab315..f4dcba0e 100644
--- a/poko-tests-without-k2/build.gradle.kts
+++ b/poko-tests-without-k2/build.gradle.kts
@@ -5,7 +5,7 @@ import org.jetbrains.kotlin.gradle.plugin.PLUGIN_CLASSPATH_CONFIGURATION_NAME
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
 plugins {
-  alias(libs.plugins.kotlin.multiplatform)
+  id("org.jetbrains.kotlin.multiplatform")
 }
 
 tasks.withType<KotlinCompile>().configureEach {
diff --git a/poko-tests/build.gradle.kts b/poko-tests/build.gradle.kts
index b2433894..c6156cf3 100644
--- a/poko-tests/build.gradle.kts
+++ b/poko-tests/build.gradle.kts
@@ -3,7 +3,7 @@ import org.jetbrains.kotlin.gradle.plugin.NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFI
 import org.jetbrains.kotlin.gradle.plugin.PLUGIN_CLASSPATH_CONFIGURATION_NAME
 
 plugins {
-  alias(libs.plugins.kotlin.multiplatform)
+  id("org.jetbrains.kotlin.multiplatform")
 }
 
 val jvmToolchainVersion: Int? = System.getenv()["poko_tests_jvm_toolchain_version"]?.toInt()
diff --git a/poko-tests/performance/build.gradle.kts b/poko-tests/performance/build.gradle.kts
index a1c58951..2216b12e 100644
--- a/poko-tests/performance/build.gradle.kts
+++ b/poko-tests/performance/build.gradle.kts
@@ -1,5 +1,5 @@
 plugins {
-    alias(libs.plugins.kotlin.jvm)
+    id("org.jetbrains.kotlin.jvm")
 }
 
 dependencies {