Feature request: unified context menu management API for plugin commands across different right-click menus

Use case / problem

Many Obsidian community plugins add commands to different right-click context menus, such as:

  • file explorer context menu

  • editor context menu

  • link context menu

  • tab context menu

As more plugins are installed, these menus become longer and more cluttered, making common actions harder to find quickly.

I do not think this should apply to the Command Palette, because the Command Palette is already the universal place to search across all available commands.
The real issue is the presentation of commands across different context menus.

Right now, if a user wants to control whether a plugin command appears in a specific context menu, the only options are usually:

  • rely on the plugin author to provide a setting

  • or use another community plugin to hide menu items

This is not unified, not robust, and varies a lot from plugin to plugin.


Proposed improvement

Please provide a unified context menu management API, or even better, a unified user-facing system for managing plugin commands across context menus.

The goal is not to hide or disable commands themselves.
The goal is to let users centrally manage where those commands appear, for example:

  • whether a command appears in the file explorer context menu

  • whether it appears in the editor context menu

  • whether it appears in the link context menu

  • whether it appears in the tab context menu


Why this would help

  1. Keeps the Command Palette complete
    All commands remain searchable, so plugin functionality stays discoverable.

  2. Reduces context menu clutter
    Users can keep right-click menus focused on actions that are actually relevant in each surface.

  3. Creates consistency across plugins
    Plugin authors would not each need to build their own custom “show in menu” settings.

  4. Provides a clearer official model for developers
    A formal API would make it easier for plugins to register commands consistently across menu types and allow Obsidian to manage them centrally.

  5. Improves long-term usability
    As vaults grow and more plugins are installed, menu management becomes increasingly important.


One possible implementation direction

When a plugin registers a command into a context menu, it could include a clear menu-surface identifier, such as:

  • file-explorer

  • editor

  • link

  • tab

Obsidian could then use that metadata to provide a unified user-facing menu management interface, allowing users to decide which plugin commands appear in which menu surfaces.