[BUG] Plugin for JetBrains IDEs: java.lang.NoClassDefFoundError: org/jetbrains/plugins/terminal/TerminalToolWindowManager
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?
I have the Claude Code plugin in IntelliJ IDEA 2025.3.4, I launch claude from Terminal.app and have it connected to IntelliJ through /ide. Everything works fine with the claude command. When it wants to show me a diff, that diff is properly opened in IntelliJ.
However, from time to time, IntelliJ reports a crash in the Claude Code plugin. See stacktrace. Note that I don’t use IntelliJ’s builtin terminal. I even have it disabled (I have the Terminal plugin bundled, but disabled).
Maybe related to #2206.
What Should Happen?
IntelliJ should not report any internal error.
Error Messages/Logs
java.lang.NoClassDefFoundError: org/jetbrains/plugins/terminal/TerminalToolWindowManager
at com.anthropic.code.plugin.terminal.ClaudeFilePathFilter.<init>(ClaudeConsoleFilterProvider.kt:49)
at com.anthropic.code.plugin.terminal.ClaudeConsoleFilterProvider.getDefaultFilters(ClaudeConsoleFilterProvider.kt:31)
at com.intellij.execution.impl.ConsoleViewUtil.computeConsoleFilters(ConsoleViewUtil.java:288)
at com.intellij.execution.impl.ConsoleViewUtil.computeConsoleFilters(ConsoleViewUtil.java:298)
at com.intellij.execution.impl.ConsoleViewImpl.updatePredefinedFiltersLater$lambda$0(ConsoleViewImpl.kt:199)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor.callWrapped(NonBlockingReadActionImpl.java:929)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor$MonitoredComputation.call(NonBlockingReadActionImpl.java:961)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:685)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$6(NonBlockingReadActionImpl.java:648)
at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.tryRunReadAction(NestedLocksThreadingSupport.kt:901)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1237)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:94)
at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:73)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:152)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:139)
at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:98)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:256)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$14(CoreProgressManager.java:717)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:792)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:748)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:716)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:75)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:240)
at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:98)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:136)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:94)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:648)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:529)
at com.intellij.concurrency.ThreadContext.installThreadContext(threadContext.kt:305)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$2(NonBlockingReadActionImpl.java:529)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:735)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:732)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:732)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.ClassNotFoundException: org.jetbrains.plugins.terminal.TerminalToolWindowManager 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), packagePrefix=null, state=active, parents=ContentModuleDescriptor(id=intellij.platform.vcs.log.graph) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.relaxng) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.log) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.dvcs) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.protocolReaderRuntime) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.backend) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.scriptDebugger.ui) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, 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.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools.auth) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.vcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, 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.32098.37, 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.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.collaborationTools) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.spellchecker.xml) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), ContentModuleDescriptor(id=intellij.platform.tasks.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=253.32098.37, isBundled=true, path=~/Applications/IntelliJ IDEA.app/Contents/lib), )
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:149)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
... 37 more
Steps to Reproduce
- Install IntelliJ IDEA 2025.3.4
- Open the Plugins tabs in Settings.
- Disable the bundled Terminal plugin.
- Install Claude Code Plugin.
- Restart IntelliJ IDEA.
- Open Terminal.app
brew install claude-codeclaude/ide, select IntelliJ IDEA- Ask things to Claude Code.
- View diffs in IntelliJ IDEA
- Accept diffs from IntelliJ IDEA
- Goto step 10.
At some point, IntelliJ should report an internal error in Claude Code plugin.
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.80 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
In case Claude Code cannot run from a terminal external to the IDE, this should be documented in https://code.claude.com/docs/en/jetbrains#usage.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗