Overview
Extensions add powerful functionality to SuperCmd, from searching GitHub repositories to controlling your smart home. SuperCmd maintains 100% compatibility with Raycast extensions through a complete API compatibility layer.SuperCmd can run existing Raycast extensions without requiring any code modifications. Extensions are loaded from the official Raycast extension registry.
Installing Extensions
Open Extension Store
Press your SuperCmd hotkey (default:
Cmd+Space) and search for Extension Store.Browse or Search
Browse featured extensions or use the search bar to find specific extensions by name, description, or category.
Install Extension
Click on an extension and select Install. SuperCmd will:
- Download the extension from the Raycast registry
- Install dependencies using npm
- Make it available in your command palette
How Extensions Work
Extensions in SuperCmd are executed using a sophisticated runtime environment:Extension Loading Process
- Discovery: Extensions are loaded from
~/Library/Application Support/SuperCmd/extensions/ - Bundling: Extension code is bundled to CommonJS using esbuild at runtime (src/main/extension-runner.ts:45)
- API Shim: A custom
require()function provides:- React (shared instance with host app)
@raycast/apicompatibility layer@raycast/utilsutility functions
- Execution: Extensions run in isolated contexts while sharing React with the host
Platform Compatibility
Extensions can specify platform requirements. SuperCmd automatically filters extensions based on your operating system:Extensions that specify platform restrictions will only appear on compatible systems.
Managing Extensions
Viewing Installed Extensions
- Open Settings (
Cmd+,from SuperCmd) - Navigate to the Extensions tab
- View all installed extensions with their status
Updating Extensions
Extensions are updated automatically from the Raycast registry:- The extension catalog refreshes every 24 hours
- You can manually check for updates in Settings > Extensions
- Updates are installed automatically or can be deferred
Uninstalling Extensions
Extension Preferences
Many extensions require configuration:Setting Preferences
- Right-click an extension command in the command palette
- Select Extension Preferences
- Fill in required fields (API keys, URLs, etc.)
- Preferences are saved automatically
Preference Types
Extensions can use various preference types:- Text: API keys, usernames
- Password: Sensitive credentials (hidden)
- Checkbox: Boolean toggles
- Dropdown: Predefined options
- File/Directory: Path selection
API Compatibility
SuperCmd implements the complete@raycast/api specification:
Core Components
- ✅ List, Detail, Form, Grid
- ✅ ActionPanel with all action types
- ✅ Navigation stack (push/pop)
- ✅ Toast notifications and HUD
- ✅ MenuBarExtra for menu bar extensions
Hooks & Functions
- ✅
useFetch,usePromise,useCachedPromise - ✅
useFormwith validation - ✅
useExec,useSQL,useStreamJSON - ✅ Clipboard, LocalStorage, Cache APIs
- ✅ AI integration (
AI.ask(),useAI())
System Integration
- ✅ Window Management
- ✅ Application detection
- ✅ File system operations
- ✅ AppleScript execution
For a complete API compatibility matrix, see the CLAUDE.md file in the source repository.
Extension Registry
SuperCmd uses a Git-based extension registry strategy (src/main/extension-registry.ts):Catalog Strategy
- Sparse Checkout: Only
package.jsonfiles are fetched (fast, no full clone) - Metadata Parsing: Extract title, description, icon, and author
- Local Cache: Full catalog cached as JSON
- Auto-Refresh: Catalog refreshes every 24 hours
Installation Process
Creating Extensions
While SuperCmd runs Raycast extensions, you can also create your own:Development Setup
- Use the official Raycast Extension Template
- Develop using
@raycast/api - Test in SuperCmd without modifications
- Publish to the Raycast store or use locally
Local Extensions
To use a local extension:Troubleshooting
Extension Won’t Load
Check platform compatibility
Check platform compatibility
Ensure the extension supports your operating system. Check the extension’s
package.json for platform restrictions.Verify dependencies
Verify dependencies
Some extensions require Node.js dependencies. Check the extension directory for
node_modules and re-run npm install if needed.Check preferences
Check preferences
Missing required preferences will prevent extensions from running. Open Extension Preferences to configure.
Extension Crashes
If an extension crashes:- Check Console.app for error logs
- Try uninstalling and reinstalling the extension
- Report issues to the extension author or SuperCmd GitHub
Performance Issues
If extensions run slowly:- Clear the extension cache (Settings > Extensions > Clear Cache)
- Disable unused extensions
- Check for extensions making frequent API calls
Best Practices
Keep Extensions Updated
Regularly update extensions to get bug fixes and new features.
Review Permissions
Check what data extensions access before installing.
Use Keyboard Shortcuts
Assign shortcuts to frequently used extension commands.
Configure Preferences
Take time to configure extension preferences for optimal experience.
Popular Extensions
Here are some popular extensions that work great with SuperCmd:- GitHub: Search repositories, issues, and pull requests
- Google Translate: Translate text between languages
- Spotify: Control music playback
- 1Password: Access passwords and secure notes
- Todoist: Manage tasks and projects
- Linear: Track issues and project progress