[BUG] Intellij Idea IDE integration fails with an exception for ktor dependency
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Hello, I am getting the IDE disconnected message after the following exception w.r.to Claude-code plugin in the latest version of the IDE. Also, Claude-code does not show up as an agent in the chat dropdown. but Claude-code works from the terminal within the IDE.
Plugin version: 0.1.14-beta
IntelliJ version: 2025.3 (253.29346.138)
Error: Missing Ktor dependency
The below exception is thrown while opening the latest Intellij Idea IDE with the latest Claude-code plugin:
com.intellij.diagnostic.PluginException: io/ktor/server/cio/CIO [Plugin: com.anthropic.code.plugin]
at com.intellij.ide.startup.impl.StartupManagerImplKt$launchActivity$1.invokeSuspend(StartupManagerImpl.kt:517)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:610)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runDefaultDispatcherTask(CoroutineScheduler.kt:1194)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:906)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:775)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:762)
Caused by: java.lang.NoClassDefFoundError: io/ktor/server/cio/CIO
at com.anthropic.code.plugin.services.MCPService.start(MCPService.kt:57)
at com.anthropic.code.plugin.startup.PostStartupActivity.execute(PostStartupActivity.kt:14)
at com.intellij.ide.startup.impl.StartupManagerImplKt$launchActivity$1.invokeSuspend(StartupManagerImpl.kt:511)
... 7 more
Caused by: java.lang.ClassNotFoundException: io.ktor.server.cio.CIO PluginClassLoader(plugin=PluginMainDescriptor(name=Claude Code [Beta], id=com.anthropic.code.plugin, version=0.1.14-beta, isBundled=false, path=~/Library/Application Support/JetBrains/IntelliJIdea2025.3/plugins/claude-code-jetbrains-plugin-0.1.14-beta.jar), packagePrefix=null, state=active, parents=ContentModuleDescriptor(id=intellij.terminal.sh, package=org.jetbrains.plugins.terminal.sh) <- PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), ContentModuleDescriptor(id=intellij.terminal/cloud, package=org.jetbrains.plugins.terminal.cloud, descriptorPath=intellij.terminal.cloud.xml) <- PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), ContentModuleDescriptor(id=intellij.terminal.frontend, package=com.intellij.terminal.frontend) <- PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), ContentModuleDescriptor(id=intellij.terminal.backend, package=com.intellij.terminal.backend) <- PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), ContentModuleDescriptor(id=intellij.platform.vcs.log.graph) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.relaxng) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.log) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.dvcs) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.protocolReaderRuntime) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.backend) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.ui) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools.auth.base) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools.auth) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.log.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.dvcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker.xml) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.terminal.frontend.split) <- PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), )
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:149)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
... 10 more
What Should Happen?
Claude-code should be appearing as an agent in the Chat dropdown in the AI chat window.
Error Messages/Logs
com.intellij.diagnostic.PluginException: io/ktor/server/cio/CIO [Plugin: com.anthropic.code.plugin]
at com.intellij.ide.startup.impl.StartupManagerImplKt$launchActivity$1.invokeSuspend(StartupManagerImpl.kt:517)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:610)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runDefaultDispatcherTask(CoroutineScheduler.kt:1194)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:906)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:775)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:762)
Caused by: java.lang.NoClassDefFoundError: io/ktor/server/cio/CIO
at com.anthropic.code.plugin.services.MCPService.start(MCPService.kt:57)
at com.anthropic.code.plugin.startup.PostStartupActivity.execute(PostStartupActivity.kt:14)
at com.intellij.ide.startup.impl.StartupManagerImplKt$launchActivity$1.invokeSuspend(StartupManagerImpl.kt:511)
... 7 more
Caused by: java.lang.ClassNotFoundException: io.ktor.server.cio.CIO PluginClassLoader(plugin=PluginMainDescriptor(name=Claude Code [Beta], id=com.anthropic.code.plugin, version=0.1.14-beta, isBundled=false, path=~/Library/Application Support/JetBrains/IntelliJIdea2025.3/plugins/claude-code-jetbrains-plugin-0.1.14-beta.jar), packagePrefix=null, state=active, parents=ContentModuleDescriptor(id=intellij.terminal.sh, package=org.jetbrains.plugins.terminal.sh) <- PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), ContentModuleDescriptor(id=intellij.terminal/cloud, package=org.jetbrains.plugins.terminal.cloud, descriptorPath=intellij.terminal.cloud.xml) <- PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), ContentModuleDescriptor(id=intellij.terminal.frontend, package=com.intellij.terminal.frontend) <- PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), ContentModuleDescriptor(id=intellij.terminal.backend, package=com.intellij.terminal.backend) <- PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), ContentModuleDescriptor(id=intellij.platform.vcs.log.graph) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.relaxng) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.log) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.dvcs) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.protocolReaderRuntime) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.backend) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.ui) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools.auth.base) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools.auth) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.log.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.dvcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker.xml) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.29346.138, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.terminal.frontend.split) <- PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), PluginMainDescriptor(name=Terminal, id=org.jetbrains.plugins.terminal, version=253.29346.138, package=org.jetbrains.plugins.terminal, isBundled=true, path=/Applications/IntelliJ IDEA.app/Contents/plugins/terminal), )
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:149)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
... 10 more
Steps to Reproduce
Restart the iDE and the exception is thrown.
Claude Model
None
Is this a regression?
No
Last Working Version
_No response_
Claude Code Version
2.0.76
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗