Can not complete Gradle sync due to exception: Class is not registered: com.intellij.gradle.toolingExtension.impl.modelAction.GradleModelFetchFailureState
I am working on a Gradle project on my company laptop. Gradle upgraded itself to version 9.7.0, and I am using IntelliJ IDEA on a Windows 11 WSL environment, version 2026.2.1.
However, when attempting to synchronize, the following exception occurs pretty much at the end:
com.intellij.openapi.externalSystem.model.ExternalSystemException: Class is not registered: com.intellij.gradle.toolingExtension.impl.modelAction.GradleModelFetchFailureState
Note: To register this class use: kryo.register(com.intellij.gradle.toolingExtension.impl.modelAction.GradleModelFetchFailureState.class);
When running Gradle myself, for example, gradle build, everything is OK. This problem causes IntelliJ IDEA to misbehave and not perform any syntax highlighting, refactoring, etc.
In completion, here is the entire trace for as far as I have:
WARN - #c.i.o.e.s.i.AbstractExternalSystemTask - RESOLVE_PROJECT:0: Task execution failed
com.intellij.openapi.externalSystem.model.ExternalSystemException: Class is not registered: com.intellij.gradle.toolingExtension.impl.modelAction.GradleModelFetchFailureState
Note: To register this class use: kryo.register(com.intellij.gradle.toolingExtension.impl.modelAction.GradleModelFetchFailureState.class);
at org.jetbrains.plugins.gradle.service.execution.GradleExecutionErrorHandler.createUserFriendlyError(GradleExecutionErrorHandler.java:109)
at org.jetbrains.plugins.gradle.service.project.AbstractProjectImportErrorHandler.createUserFriendlyError(AbstractProjectImportErrorHandler.java:30)
at org.jetbrains.plugins.gradle.service.project.BaseProjectImportErrorHandler.doGetUserFriendlyError(BaseProjectImportErrorHandler.java:172)
at org.jetbrains.plugins.gradle.service.project.BaseProjectImportErrorHandler.getUserFriendlyError(BaseProjectImportErrorHandler.java:51)
at org.jetbrains.plugins.gradle.service.project.BaseProjectImportErrorHandler.checkErrorsWithoutQuickFixes(BaseProjectImportErrorHandler.java:64)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$1.getUserFriendlyError(GradleProjectResolver.java:987)
at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.lambda$execute$2(GradleExecutionHelper.java:246)
at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.lambda$execute$1(GradleExecutionHelper.java:213)
at org.jetbrains.plugins.gradle.service.execution.SystemPropertiesAdjuster$Companion.executeAdjusted(SystemPropertiesAdjuster.kt:52)
at org.jetbrains.plugins.gradle.service.execution.SystemPropertiesAdjuster.executeAdjusted(SystemPropertiesAdjuster.kt)
at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.lambda$execute$0(GradleExecutionHelper.java:213)
at org.jetbrains.plugins.gradle.connection.GradleConnectorServiceImpl.withGradleConnection(GradleConnectorServiceImpl.kt:196)
at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.execute(GradleExecutionHelper.java:211)
at org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper.execute(GradleExecutionHelper.java:232)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:204)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.lambda$resolveProjectInfo$0(GradleProjectResolver.java:183)
at org.jetbrains.plugins.gradle.service.project.DefaultProjectResolverContext.lambda$computeCancellable$0(DefaultProjectResolverContext.java:120)
at org.jetbrains.plugins.gradle.service.project.DefaultProjectResolverContext.lambda$runCancellable$0(DefaultProjectResolverContext.java:129)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$0(CoreProgressManager.java:756)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:832)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:788)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:755)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:87)
at org.jetbrains.plugins.gradle.service.project.DefaultProjectResolverContext.runCancellable(DefaultProjectResolverContext.java:127)
at org.jetbrains.plugins.gradle.service.project.DefaultProjectResolverContext.computeCancellable(DefaultProjectResolverContext.java:119)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.computeCancellable(GradleProjectResolver.java:243)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:172)
at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:118)
at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.lambda$resolveProjectInfo$0(RemoteExternalSystemProjectResolverImpl.java:37)
at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:42)
at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.java:36)
at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.lambda$resolveProjectInfo$0(ExternalSystemResolveProjectTask.java:120)
at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.suspendScanningAndIndexingThenRun(ExternalSystemResolveProjectTask.java:153)
at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.resolveProjectInfo(ExternalSystemResolveProjectTask.java:114)
at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:102)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.lambda$execute$2(AbstractExternalSystemTask.java:151)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.withExecutionState(AbstractExternalSystemTask.java:279)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.lambda$execute$1(AbstractExternalSystemTask.java:150)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.withExecutionProgressManager(AbstractExternalSystemTask.java:236)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.lambda$execute$0(AbstractExternalSystemTask.java:149)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.withProcessingManager(AbstractExternalSystemTask.java:222)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:148)
at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:131)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil.lambda$executeSync$0(ExternalSystemUtil.java:498)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil.incompleteDependenciesState(ExternalSystemUtil.java:517)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil.executeSync(ExternalSystemUtil.java:495)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$2.lambda$execute$0(ExternalSystemUtil.java:361)
at com.intellij.openapi.externalSystem.util.ExternalSystemTelemetryUtil.lambda$runWithSpan$0(ExternalSystemTelemetryUtil.java:26)
at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.use(trace.kt:29)
at com.intellij.openapi.externalSystem.util.ExternalSystemTelemetryUtil.runWithSpan(ExternalSystemTelemetryUtil.java:25)
at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$2.execute(ExternalSystemUtil.java:360)
at com.intellij.openapi.externalSystem.util.ExternalSystemTaskUnderProgress$2.run(ExternalSystemTaskUnderProgress.java:55)
at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:569)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:197)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$0(CoreProgressManager.java:620)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:285)
at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:98)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:291)
at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.use(trace.kt:44)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$0(CoreProgressManager.java:290)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$0(CoreProgressManager.java:756)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:832)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:788)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:755)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:87)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:271)
at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:98)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$2(ProgressRunner.java:285)
at com.intellij.openapi.progress.impl.ProgressRunner$ProgressRunnable.run(ProgressRunner.java:557)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$launchTask$5(ProgressRunner.java:512)
at com.intellij.concurrency.ThreadContext.installThreadContext(threadContext.kt:307)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$launchTask$4(ProgressRunner.java:511)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:193)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:193)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:199)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:193)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$launchTask$3(ProgressRunner.java:508)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:649)
at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: org.gradle.tooling.GradleConnectionException: Class is not registered: com.intellij.gradle.toolingExtension.impl.modelAction.GradleModelFetchFailureState
Note: To register this class use: kryo.register(com.intellij.gradle.toolingExtension.impl.modelAction.GradleModelFetchFailureState.class);
at org.jetbrains.plugins.gradle.execution.target.ToolingProxyConnector.processMessages(ToolingProxyConnector.kt:95)
at org.jetbrains.plugins.gradle.execution.target.ToolingProxyConnector.listen(ToolingProxyConnector.kt:128)
at org.jetbrains.plugins.gradle.execution.target.ToolingProxyConnector.collectAllEvents$lambda$0(ToolingProxyConnector.kt:50)
at org.jetbrains.plugins.gradle.execution.target.ToolingProxyConnector.withConnection(ToolingProxyConnector.kt:74)
at org.jetbrains.plugins.gradle.execution.target.ToolingProxyConnector.collectAllEvents(ToolingProxyConnector.kt:47)
at org.jetbrains.plugins.gradle.execution.target.GradleServerProcessListener.runListener$lambda$0$0(GradleServerProcessListener.kt:85)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$0(CoreProgressManager.java:756)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:832)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:788)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:755)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:87)
at org.jetbrains.plugins.gradle.execution.target.GradleServerProcessListener.runListener$lambda$0(GradleServerProcessListener.kt:82)
at com.intellij.openapi.application.impl.ApplicationImpl$4.run(ApplicationImpl.java:386)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
at com.intellij.util.concurrency.ContextCallable.lambda$call$2(ContextCallable.java:86)
at com.intellij.concurrency.ThreadContext.installThreadContext(threadContext.kt:307)
at com.intellij.util.concurrency.ContextCallable.lambda$call$1(ContextCallable.java:83)
at com.intellij.util.concurrency.ContextCallable.call(ContextCallable.java:96)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:193)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:193)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:199)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:193)
at com.intellij.util.concurrency.ContextRunnable.lambda$run$0(ContextRunnable.java:26)
at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:295)
at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:25)
... 4 more
Please sign in to leave a comment.
We reproduced it on 2026.2.1 (IU-262.9437.185) with a fresh project from the New Project wizard. Sync completes on Gradle 9.6.0 and 9.6.1. It fails on 9.7.0.
Because the project is in WSL, Gradle runs through the IDE tooling proxy instead of running directly. The proxy serializes its messages with Kryo. `GradleModelFetchFailureState` was never registered with that serializer, so the proxy cannot send it. Your shell `gradle build` never touches the proxy, which is why the command line is fine.
The exception itself is misleading. The class that fails to serialize is the object the proxy uses to report a failure. So the serialization error replaces whatever the sync originally wanted to tell you.
Pin the wrapper to 9.6.1 for now. Open `gradle/wrapper/gradle-wrapper.properties` and set:
```
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
```
Then sync again.
Stay on 2026.2.1. Gradle 9.7.0 triggers this, not the IDE version, so downgrading the IDE will not help you.
The fix ships in 2026.2.2. It is already in the 2026.3 EAP, which imports the same project cleanly. Click Star on [IDEA-390339](https://youtrack.jetbrains.com/issue/IDEA-390339) to be notified when 2026.2.2 is out.
I have downgraded Gradle, and that indeed fixed it. Thanks for the assistance.