[BUG] [Backend] Exception in plugin Claude Code [Beta] (0.1.14-beta)

Resolved 💬 3 comments Opened May 19, 2026 by miaXcova Closed Jun 18, 2026

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?

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 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)

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

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗