Skip to main content
SuperCmd provides full compatibility with the Raycast extension ecosystem, allowing you to install and run thousands of community extensions without modification.

How Extensions Work

Extensions in SuperCmd are built on the same architecture as Raycast, ensuring complete compatibility:
1

Extension Discovery

SuperCmd fetches the extension catalog from the Raycast Extensions GitHub repository using a sparse Git checkout strategy for fast catalog updates.
2

Installation

When you install an extension, SuperCmd:
  • Downloads only the specific extension directory using Git sparse-checkout
  • Copies it to ~/Library/Application Support/SuperCmd/extensions/
  • Installs npm dependencies (excluding @raycast/api which is shimmed)
  • Pre-builds all commands using esbuild for instant execution
3

Command Bundling

Each extension command is bundled to CommonJS format with:
  • React and React DOM kept external (shared with host app)
  • @raycast/api and @raycast/utils marked as external (provided by SuperCmd’s compatibility shim)
  • Node.js built-ins and third-party dependencies handled appropriately
4

Runtime Execution

At runtime, SuperCmd provides a custom require() function that:
  • Supplies the React instance from the host app
  • Provides the full @raycast/api compatibility layer
  • Implements @raycast/utils hooks and utilities
  • Bridges system operations through Electron IPC

Extension Catalog Strategy

SuperCmd uses an efficient strategy to access the Raycast extension catalog:
The catalog is cached locally for 24 hours to minimize network requests and improve performance.

Build Strategy

Extensions are pre-built at install time for instant execution:

API Compatibility Layer

The src/renderer/src/raycast-api/ directory provides a comprehensive compatibility shim:

Core Components

Full implementations of List, Detail, Form, Grid, ActionPanel, and MenuBarExtra components

Hooks & Utilities

Complete support for useNavigation, useFetch, useCachedPromise, usePromise, and all other Raycast hooks

System Integration

Bridges for clipboard, localStorage, file system, AI, and other system operations via Electron IPC

Platform Features

Window management, AppleScript execution, application detection, and native macOS integration

Extension Context

Each extension runs with full access to the Raycast environment API:

Dependency Management

SuperCmd intelligently handles extension dependencies:
Extensions share the React instance with SuperCmd to ensure proper React context and hooks work correctly. Never bundle React into extensions.

Platform Compatibility

Extensions can declare platform support in their package.json:
SuperCmd filters extensions and commands based on the current platform:

Performance Optimizations

Pre-built Bundles

All commands are built at install time, not runtime, for instant execution

Sparse Checkout

Only downloads necessary files from the extension repository

Cached Catalog

Extension catalog is cached locally for 24 hours

Lazy Screenshots

Extension screenshots are fetched on-demand, not during catalog sync

Next Steps

Installing Extensions

Learn how to install and update extensions

Managing Extensions

Manage installed extensions and preferences

Compatibility

Check API compatibility status