IntelliJ Platform Plugin SDK Help

Coroutines on EDT and Locks

Sometimes, errors similar to the below can be observed in the IDE running in the internal mode:

Access is allowed with explicit read lock. Now each coroutine scheduled on EDT wrapped in implicit write intent lock (which implies read lock too). This implicit lock will be removed in future releases. Please, use explicit lock API like ReadAction.run(), WriteIntentReadAction.run(), readAction() or writeIntentReadAction() to wrap code which needs lock to access model or PSI. Please note, that read action API can re-schedule your code to background threads, if you are sure that your code need to be executed on EDT, you need to use write intent read action.

This is not an actual error. Nothing is broken and no data races occurred.

This assertion message was a way to prepare plugins for the changes in the IntelliJ Platform, but it is no longer necessary. It is safe to ignore it.

07 January 2026