[BUG] JetBrains plugin: Assertion failed when removing selection listener on null editor

Resolved 💬 1 comment Opened May 15, 2026 by evgeniyamelone Closed Jun 13, 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?

Getting an assertion error in the Claude Code JetBrains plugin when switching between editor tabs or closing files.

What Should Happen?

When switching between editor tabs or closing a file, the plugin should cleanly remove the selection listener without throwing an assertion error.
No errors should appear in the IDE log during normal editor navigation.

Error Messages/Logs

java.lang.Throwable: Assertion failed: Failed to remove listener:                                                                                                    
  com.anthropic.code.plugin.mcp.notifications.NotificationManager$registerSelectionListener$selectionListener$1@6860caafrom editor: EditorImpl[null]                   
      at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:472)                                                                                            
      at com.intellij.openapi.editor.impl.SelectionModelImpl.removeSelectionListener(SelectionModelImpl.java:125)                                                      
      at com.anthropic.code.plugin.mcp.notifications.NotificationManager$registerSelectionListener$2.selectionChanged(NotificationManager.kt:92)                       
      at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:820)                                                                          
      at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:764)                                                                        
      at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:503)                                                                        
      at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:482)                                                                           
      at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)                                                                      
      at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:545)                                                                                
      at jdk.proxy2/jdk.proxy2.$Proxy141.selectionChanged(Unknown Source)                                                                                              
      at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.fireSelectionChanged$lambda$1(FileEditorManagerImpl.kt:1833)                                       
      at com.intellij.openapi.application.CoroutinesKt.writeIntentReadAction$lambda$0(coroutines.kt:324)                                                               
      at com.intellij.openapi.application.impl.AppImplKt$rethrowCheckedExceptions$2.invoke(appImpl.kt:126)                                                             
      at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.doRunWriteIntentReadAction(NestedLocksThreadingSupport.kt:736)                                 
      at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runPreventiveWriteIntentReadAction(NestedLocksThreadingSupport.kt:710)                         
      at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:664)                                   
      at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1185)                                                     
      at com.intellij.openapi.application.CoroutinesKt.writeIntentReadAction(coroutines.kt:324)                                                                        
      at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.fireSelectionChanged(FileEditorManagerImpl.kt:1832)                                                
      at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.access$fireSelectionChanged(FileEditorManagerImpl.kt:127)                                          
      at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$2$1$1.invokeSuspend(FileEditorManagerImpl.kt:286)                                                  
      at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)                                                                        
      at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)                                                                                                  
      at com.intellij.openapi.application.impl.DispatchedRunnable.run(DispatchedRunnable.kt:42)                                                                        
      at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:239)                                                    
      at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:25)                                                                
      at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:221)                                                                    
      at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1$1$0(NonBlockingFlushQueue.kt:334)                                           
      at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:901)                                                       
      at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1$1(NonBlockingFlushQueue.kt:333)                                             
      at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)                                                                               
      at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1(NonBlockingFlushQueue.kt:330)                                               
      at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.tryRunWriteIntentReadAction(NestedLocksThreadingSupport.kt:689)                                
      at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent(NonBlockingFlushQueue.kt:326)                                                        
      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/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)                                                                                
      at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:781)                                                                                       
      at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:728)                                                                                                   
      at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)                                                                                                   
      at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)                                                                              
      at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)                                             
      at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:750)                                                                                           
      at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:664)                                                                                     
      at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:517)                                                                                           
      at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:333)                                                                               
      at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1065)                                                                              
      at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:109)                                                          
      at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1065)                                                                                       
      at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:331)                                                                                   
      at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:371)                                                                                            
      at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)                                                                
      at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)                                                                   
      at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)                                                                
      at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)                                                                            
      at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)                                                                            
      at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

Steps to Reproduce

  1. Open multiple files in the IDE
  2. Switch between tabs / close a file
  3. Error appears in the IDE log

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

Other

Operating System

macOS

Terminal/Shell

IntelliJ IDEA terminal

Additional Information

_No response_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗