Skip to content

Feature Request: Global Search / Command Palette for Settings & App Navigation #568

Description

@muhammed-enes-koroglu

Feature Request: Unified "Omni-Search" / Command Palette for App Settings & Navigation

Is your feature request related to a problem?

Yes. While LM Studio has excellent search for Models (Ctrl+Shift+M) and Chat History (Ctrl+Shift+F), there is currently no way to quickly find specific Settings or App Sections.

As the app grows with complex features like MCP Configuration, Parallel Requests, and detailed Hardware/GPU settings, users have to click through multiple tabs (Settings > Developer > Program, etc.) to find a single toggle.

Description of the goal

I am requesting a Centralized Search Bar (an "Omnibar" or Command Palette) that allows for instant navigation and setting discovery.

Examples of what it should find:

  • Settings Toggles: "GPU Offload," "Context Length," "Cross-Origin Origins," "Parallel Slots."
  • Navigation: Jump to "MCP Servers," "My Models," or "Server Logs."
  • Actions: "Eject all models," "Start Server," "Check for Updates."

Proposed Solution

Implement a global shortcut (e.g., Cmd/Ctrl + K) that opens a floating search input.

  1. Fuzzy Search: Typing "GPU" should show the "GPU Offload" slider and a button to jump to "Hardware Settings."
  2. Direct Execution: Some results could be "Actionable" (e.g., clicking "Start Server" in the search results actually triggers the server).
  3. UI Highlight: When selecting a setting from the search, the app should navigate to that page and briefly highlight/flash the setting so the user sees exactly where it is.

Expected Behavior

To ensure this feature is both intuitive and powerful, one might expect the following implementation details:

1. Trigger & Interface

  • Global Hotkey: Access via Cmd/Ctrl + K (standard for Command Palettes) or a persistent search icon in the top navigation bar.
  • Overlay UI: A clean, centered modal that appears over any active screen, allowing the user to search without losing their current place in a chat or server log.
  • Keyboard-First Design: The palette should be 100% navigable via keyboard. Use Arrow Keys to move through results, Enter to select/execute, and Esc to dismiss.

2. Intelligent Result Categories

Results should be categorized to provide clarity:

  • Navigation: Items like "Go to Models," "Go to Server Settings," or "Go to MCP Config."
  • Settings (Direct Access): Displaying the specific toggle or slider within the search results for immediate adjustment (e.g., toggling "GPU Offload" without leaving the search bar).
  • Actions: Common commands like "Reload Plugins," "Clear Chat," or "Export Logs."
  • Contextual Prioritization: Results should be weighted based on the current active tab. (e.g., searching "Clear" while in a Chat should prioritize "Clear Chat History," while searching "Clear" in the Server tab should prioritize "Clear Server Logs").

3. Visual Feedback & Deep Linking

  • Auto-Scroll & Focus: Upon selecting a result, the app should automatically navigate to the correct tab and scroll the relevant setting into view.
  • The "Flash" Effect: Briefly highlight the targeted setting with a border or background pulse (300-500ms) to guide the user's eye, similar to how Chrome/macOS highlights settings.

4. Fuzzy Matching & Synonyms

  • The search should be forgiving. Searching for "Video" could return "GPU Offload," and searching for "Memory" could return "Context Length" or "RAM usage" settings.

5. Zero-State Experience (Recents)

  • When the palette is opened but no text is typed, it should display the user’s 3–5 most recently accessed settings or actions. This allows for "muscle memory" toggling of frequent settings like "GPU Offload" or "Eject Model."

Why this is a high-impact addition:

As of the current version, LM Studio has grown from a simple model downloader to a full-stack local LLM environment. The UI density has increased significantly. An "Omni-search" doesn't just save time; it acts as a discovery layer for new features that users might otherwise never find in the nested menus.


Note: I realize this is a significant request that touches many parts of the UI and internal architecture. However, as LM Studio evolves from a simple model runner into a professional-grade LLM environment, this "Command Palette" style of interaction (popularized by VS Code, Raycast, and Slack) would be a massive quality-of-life improvement. It would transform the app from a series of nested menus into an instantly navigable workspace.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions