Skip to main content
SuperCmd provides tools to manage your installed extensions, configure preferences, and control which commands are available.

Extension Discovery

SuperCmd discovers installed extensions from multiple sources:

Managed Extensions Directory

The primary location for extensions installed through SuperCmd:
  • macOS: ~/Library/Application Support/SuperCmd/extensions/
  • Windows: %APPDATA%/SuperCmd/extensions/
  • Linux: ~/.config/SuperCmd/extensions/

Custom Extension Folders

You can add custom extension directories via settings or environment variables:
Set SUPERCMD_EXTENSION_PATHS environment variable to a colon-separated (macOS/Linux) or semicolon-separated (Windows) list of extension directories.

Extension Commands

SuperCmd scans all extension directories and builds a catalog of available commands:

Extension Preferences

Extensions can define preferences at two levels:

Extension-Level Preferences

Shared across all commands in the extension:

Command-Level Preferences

Specific to individual commands:

Preference Types

SuperCmd supports all Raycast preference types:

textfield

Single-line text input

password

Secure password field (hidden input)

checkbox

Boolean toggle

dropdown

Selection from predefined options

file

File path picker

directory

Directory path picker

Reading Preferences

Extensions access preferences via the runtime context:

Platform-Specific Defaults

Preferences can have different default values per platform:

Extension Metadata

SuperCmd extracts metadata from extension manifests:

Extension Icons

Icons are converted to data URLs for efficient rendering:

Uninstalling Extensions

Removing an extension is straightforward:
Uninstalling an extension removes all its files, including any stored data. This action cannot be undone.

Extension Support Directory

Each extension has a dedicated support directory for storing data:
  • macOS: ~/Library/Application Support/SuperCmd/extension-support/{extension-name}/
  • Windows: %APPDATA%/SuperCmd/extension-support/{extension-name}/
  • Linux: ~/.config/SuperCmd/extension-support/{extension-name}/
Extensions use this directory through the environment.supportPath API to store configuration files, databases, and other persistent data.

Command Arguments

Commands can define arguments that users provide before execution:

Background Commands

Some commands run in the background on an interval:
Commands with mode: "menu-bar" and an interval property run periodically and update the menu bar.

Checking Installation Status

Next Steps

Overview

Learn how extensions work under the hood

Compatibility

Check which Raycast APIs are supported