claude-code - 💡(How to fix) Fix [BUG] [Backend] Exception in plugin Claude Code [Beta] (0.1.14-beta) [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#60609Fetched 2026-05-20 03:54:06
View on GitHub
Comments
2
Participants
2
Timeline
6
Reactions
0
Author
Timeline (top)
labeled ×4commented ×2

Error Message

The plugin throws a backend assertion error when attempting to remove a selection listener from an editor that has already been closed or disposed. The error is logged as a java.lang.Throwable in the IDE's backend log. JetBrains suppresses the Report/Clear buttons for this error, so it cannot be submitted through the normal IDE error reporting flow. No exception. The NotificationManager should guard against removing a listener from an editor that is already closed/disposed.

Error Messages/Logs

Not fully confirmed, but the error appears to trigger when switching files or closing a tab while the plugin is actively tracking text selection in an editor. 3. Backend exception is thrown

Fix Action

Fix / Workaround

[backend] java.lang.Throwable: Assertion failed: Failed to remove listener: com.anthropic.code.plugin.mcp.notifications.NotificationManager$registerSelectionListener$selectionListener$1@781293fcfrom editor: EditorImpl[file:///home/miaxcova/projects/camera/handoff.md]
	at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:526)
	at com.intellij.openapi.editor.impl.SelectionModelImpl.removeSelectionListener(SelectionModelImpl.java:136)
	at com.anthropic.code.plugin.mcp.notifications.NotificationManager$registerSelectionListener$2.selectionChanged(NotificationManager.kt:92)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:831)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:775)
	at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:514)
	at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:493)
	at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:556)
	at jdk.proxy2/jdk.proxy2.$Proxy211.selectionChanged(Unknown Source)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager.fireSelectionChanged$lambda$1(GuestFileEditorManager.kt:177)
	at com.intellij.openapi.application.CoroutinesKt.writeIntentReadAction$lambda$0(coroutines.kt:432)
	at com.intellij.openapi.application.ThrowableComputableToLambda.invoke(coroutines.kt:362)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:710)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1215)
	at com.intellij.openapi.application.CoroutinesKt.writeIntentReadAction(coroutines.kt:432)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager.fireSelectionChanged(GuestFileEditorManager.kt:176)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager.access$fireSelectionChanged(GuestFileEditorManager.kt:93)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager$1$1$1.invokeSuspend(GuestFileEditorManager.kt:144)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:231)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$4(NonBlockingFlushQueue.kt:358)
	at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent(NonBlockingFlushQueue.kt:357)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.flushNow(NonBlockingFlushQueue.kt:305)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.FLUSH_NOW$lambda$0(NonBlockingFlushQueue.kt:167)
	at [email protected]/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:323)
	at [email protected]/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:732)
	at [email protected]/java.awt.EventQueue.dispatchEvent(EventQueue.java:711)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:726)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:579)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:379)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$0(IdeEventQueue.kt:1116)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1116)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:377)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:417)
	at [email protected]/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at [email protected]/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at [email protected]/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at [email protected]/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at [email protected]/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at [email protected]/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

Code Example

[backend] java.lang.Throwable: Assertion failed: Failed to remove listener: com.anthropic.code.plugin.mcp.notifications.NotificationManager$registerSelectionListener$selectionListener$1@781293fcfrom editor: EditorImpl[file:///home/miaxcova/projects/camera/handoff.md]
	at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:526)
	at com.intellij.openapi.editor.impl.SelectionModelImpl.removeSelectionListener(SelectionModelImpl.java:136)
	at com.anthropic.code.plugin.mcp.notifications.NotificationManager$registerSelectionListener$2.selectionChanged(NotificationManager.kt:92)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:831)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:775)
	at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:514)
	at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:493)
	at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:556)
	at jdk.proxy2/jdk.proxy2.$Proxy211.selectionChanged(Unknown Source)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager.fireSelectionChanged$lambda$1(GuestFileEditorManager.kt:177)
	at com.intellij.openapi.application.CoroutinesKt.writeIntentReadAction$lambda$0(coroutines.kt:432)
	at com.intellij.openapi.application.ThrowableComputableToLambda.invoke(coroutines.kt:362)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:710)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1215)
	at com.intellij.openapi.application.CoroutinesKt.writeIntentReadAction(coroutines.kt:432)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager.fireSelectionChanged(GuestFileEditorManager.kt:176)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager.access$fireSelectionChanged(GuestFileEditorManager.kt:93)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager$1$1$1.invokeSuspend(GuestFileEditorManager.kt:144)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:231)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$4(NonBlockingFlushQueue.kt:358)
	at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent(NonBlockingFlushQueue.kt:357)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.flushNow(NonBlockingFlushQueue.kt:305)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.FLUSH_NOW$lambda$0(NonBlockingFlushQueue.kt:167)
	at java.desktop@25.0.3/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:323)
	at java.desktop@25.0.3/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:732)
	at java.desktop@25.0.3/java.awt.EventQueue.dispatchEvent(EventQueue.java:711)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:726)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:579)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:379)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$0(IdeEventQueue.kt:1116)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1116)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:377)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:417)
	at java.desktop@25.0.3/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop@25.0.3/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop@25.0.3/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop@25.0.3/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop@25.0.3/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop@25.0.3/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

The plugin throws a backend assertion error when attempting to remove a selection listener from an editor that has already been closed or disposed. The error is logged as a java.lang.Throwable in the IDE's backend log. JetBrains suppresses the Report/Clear buttons for this error, so it cannot be submitted through the normal IDE error reporting flow.

What Should Happen?

No exception. The NotificationManager should guard against removing a listener from an editor that is already closed/disposed.

Error Messages/Logs

[backend] java.lang.Throwable: Assertion failed: Failed to remove listener: com.anthropic.code.plugin.mcp.notifications.NotificationManager$registerSelectionListener$selectionListener$1@781293fcfrom editor: EditorImpl[file:///home/miaxcova/projects/camera/handoff.md]
	at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:526)
	at com.intellij.openapi.editor.impl.SelectionModelImpl.removeSelectionListener(SelectionModelImpl.java:136)
	at com.anthropic.code.plugin.mcp.notifications.NotificationManager$registerSelectionListener$2.selectionChanged(NotificationManager.kt:92)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:831)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:775)
	at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:514)
	at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:493)
	at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:556)
	at jdk.proxy2/jdk.proxy2.$Proxy211.selectionChanged(Unknown Source)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager.fireSelectionChanged$lambda$1(GuestFileEditorManager.kt:177)
	at com.intellij.openapi.application.CoroutinesKt.writeIntentReadAction$lambda$0(coroutines.kt:432)
	at com.intellij.openapi.application.ThrowableComputableToLambda.invoke(coroutines.kt:362)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:710)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1215)
	at com.intellij.openapi.application.CoroutinesKt.writeIntentReadAction(coroutines.kt:432)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager.fireSelectionChanged(GuestFileEditorManager.kt:176)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager.access$fireSelectionChanged(GuestFileEditorManager.kt:93)
	at com.jetbrains.rdserver.fileEditors.GuestFileEditorManager$1$1$1.invokeSuspend(GuestFileEditorManager.kt:144)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:231)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$4(NonBlockingFlushQueue.kt:358)
	at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent(NonBlockingFlushQueue.kt:357)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.flushNow(NonBlockingFlushQueue.kt:305)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.FLUSH_NOW$lambda$0(NonBlockingFlushQueue.kt:167)
	at [email protected]/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:323)
	at [email protected]/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:732)
	at [email protected]/java.awt.EventQueue.dispatchEvent(EventQueue.java:711)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:726)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:579)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:379)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$0(IdeEventQueue.kt:1116)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1116)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:377)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:417)
	at [email protected]/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at [email protected]/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at [email protected]/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at [email protected]/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at [email protected]/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at [email protected]/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

Steps to Reproduce

Not fully confirmed, but the error appears to trigger when switching files or closing a tab while the plugin is actively tracking text selection in an editor.

  1. Open a file in the editor
  2. Switch to another file (or close the tab)
  3. Backend exception is thrown

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

0.1.14-beta

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

IntelliJ IDEA terminal

Additional Information

IntelliJ is being launched through the gateway, remote development tool on top of Ubuntu Server 26.04 LTS

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] [Backend] Exception in plugin Claude Code [Beta] (0.1.14-beta) [2 comments, 2 participants]