IntelliJ API Watcher

Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand DataGrip Rider MPS Android Studio
Dec 17, 2017
26 284
The plugin provides 'Find External Usages' action which allows developers to quickly find plugins which use IntelliJ platform classes, methods or fields and 'Check external usages' option in 'Commit Changes' dialog which checks that changes in IntelliJ platform classes don't break external plugins.

Note: it makes no sense to install this plugin if you don't contribute to IntelliJ IDEA sources. Also the plugin requires connection to a server which isn't accessible outside of JetBrains internal network.

Download plugin

Recent change notes


  • Update icons
  • Exclude test data from the API checks
  • Handle PIEAE thrown sometimes on the class file de-compilation
  • Fixes of some false-positives


  • Fix PR-974: Pre-push check processes changes for commits made by other developers:
    • from now only the commits of the current user will be checked
    • performance improvement on rebase and force-push of a feature-branch
  • Fix some incorrect warnings on:
    • addition of a new abstract method
    • moving a method or a field upward in the classes hierarchy
    • removing a method that has an implementation in its parent
  • In conflicts panel a new popup option 'Open Current Version' is added. It allows to navigate to the current version of the modified code.

6.1.0 - 6.12.0

  • Various analysis bug fixes
  • Presentation and message fixes


  • More intelligent API conflicts analysis


  • Fix long-running check tasks in Kotlin files
  • Increase the connection timeout: fix the spurious connection failures


  • Check only the commits of the current user before push: rebasing a feature-branch on master and then force-pushing it is not so slow
  • Replace the annoying 'see bytecode' popup with a suggestion on top of the opened class file


  • Fix the LOG.assertTrue errors on some commits

5.9.0 and 5.10.0

  • Fix the 'Read access is allowed from EDT only' problem


  • Hot fix of 5.7.0: fixed highlighting of the Kotlin


  • PR-245: Added pre-push IntelliJ API checks (they are enabled by default and can be disabled in the API Watcher settings)
  • PR-244: More support for working offline: added offline sessions
  • PR-522: Added an option to see the bytecode of the class file containing the usages
  • PR-517: Adjusted Find External Usages panel borders


  • Fixed NoClassDefFoundError on the IDEA merged with Android Studio sources


  • Fixed NoClassDefError during Kotlin classes API check


  • Sources search fixes
  • Multi-selection fixes

5.2.0 and 5.3.0

  • Minor usability fixes
  • Fixes in the server side


  • Saving toggle states
  • A tiny improvement of the methods highlighting in the decompiled code
  • Minor bugfixes


  • Kotlin code usages search (including Kotlin classes, methods and fields)
  • Added check of Java to Kotlin source conversion (do not be surprised that the API Watcher complains on some "deleted" methods: they are actually deleted in the resulting bytecode. In some cases adding the appropriate annotations may help (e.g. if static method is moved to the Companion-Object @JvmStatic is expected)
  • Find External Usages from the Project View
  • Searching for packages works again
  • Added new button in the usages panel: "Open Source code". For the classes of the currently opened Project (i.e. IJ Ultimate project) it will open their current source. For the external plugins which have specified their source-code url (e.g. on it will try to search them and open in the editor. The other button "Open Decompiled class" now serves for loading and opening a .class-file from the Plugin Repository (an actual indexed usage). Don't be surprised if these two files don't match.
  • Added some more intelligent analysis of binary breakages (so decreased an amount of false-positives when the API Watcher complains on a breakage but actually there are no problems) Not all possible cases are considered, so don't hesitate to create new issues on YouTrack.


  • Fixed non-decompiled class-file problem


  • Usability fixes


  • Usages of classes in XML descriptors
  • Various bug fixes


  • Properties search


  • Decompiled code highlighting improvements


  • Various bug fixes


  • Relocation of default indexing server to
  • More correct error handling


  • Various bug fixes


  • Remake of pre-commit dialog (no more unexpected closing)
  • Convenient "Update plugin" button
  • TeamCity-plugin indexed separately


  • More descriptive notifications


  • Added pre-commit check option ("Check external usages") which checks risky IntelliJ API changes (e.g deleting methods, changing access modifiers) since last VCS revision. It checks if there were any usages in external plugins. In case there were some usages, pretty informative usages panel will be shown. Otherwise commit will be passed as always.


  • Request performance improved
  • Added possibility to search package usages
  • Multi-selection in left side double-pane
  • Server auto-updating indices (always recent versions of plugins!)


  • Got rit of annoying read-access exception
  • Now you can discover list of indexed plugins at
  • New icons


  • New icons for different class-types
  • Server-side improvements
  • New error notifications


  • Added notification error when plugin is out-of-date
  • Added support of searching for usages of inherited classes
  • Fixed bug with methods override case


  • Client-server protocol changes
  • Various bug fixes


  • Added support of overriding/implementing methods
  • Got rid of irritating warning


  • Added shortcut for browser
  • Various bug fixes


  • Added expand/collapse all buttons


  • Added show in browser button


  • Got rid of unnecessary IDEA-build setting
  • Added sorting of plugins and classes by name


  • Added new usage type: Class static member access


  • Added navigation by searched element
  • Speed search in results
  • Various bug fixes


  • Added warning messages
  • Added shortcuts


  • Added close button
  • Added group by usage type button
  • Added possibility to load and open class
  • Various bug fixes