Skip to main content
SuperCmd aims for 100% compatibility with the Raycast API. This page tracks the implementation status of all @raycast/api and @raycast/utils features.

Core Components

All major UI components are fully implemented:
All components are implemented in src/renderer/src/raycast-api/ using modular runtime files.

State Management Hooks

System Integration Hooks

API Functions

UI Functions

Window Management

System Integration

getSelectedText and getSelectedFinderItems require macOS accessibility permissions. Users may need to grant these in System Settings.

Extension Management

Error Handling

Storage & Caching

LocalStorage API

Cache API

Clipboard API

AI Integration

AI Namespace

Supported backends:
  • Ollama: Local AI models
  • OpenAI: Cloud-based GPT models
  • Anthropic: Claude models
AI availability is checked via:

Environment API

Full extension context is available:

Platform-Specific APIs

Window Management

AppleScript (macOS)

SQL Database

Utility Functions

Favicon & Avatars

Error Handling

Caching

Icon & Image System

Icon Enum

Full Raycast icon mapping to Phosphor icons:
See src/renderer/src/raycast-api/raycast-icon-enum.ts for the complete icon mapping (auto-generated).

Color Constants

Image Types

Stub APIs (Planned)

These APIs have typed stubs but need full implementation:

OAuth

OAuth implementation is in progress. Basic PKCE flow is functional, but provider presets need testing.

Browser Extension

Browser extension integration requires a companion browser extension to be built. Currently returns empty defaults.

Platform Compatibility

Extensions can declare platform support:
SuperCmd filters extensions based on the current platform:

TypeScript Support

Full TypeScript type definitions are provided:

Testing Extensions

To verify an extension’s compatibility:
1

Check Platform Support

Verify the extension’s platforms field in package.json includes your OS
2

Review Dependencies

Check if the extension uses any APIs marked as “Stub” or “Partial” above
3

Install and Test

Install the extension and test all commands to ensure they work as expected
4

Report Issues

If you encounter incompatibilities, check the extension’s API usage and report issues with specific API calls that fail

API Version Tracking

SuperCmd monitors Raycast releases for API changes and updates the compatibility layer accordingly.

Contributing

When adding new API support:
1

Reference Official Docs

Check Raycast API Reference for official behavior
2

Implement in Runtime Modules

Add the API to the appropriate runtime file in src/renderer/src/raycast-api/
3

Add IPC Handlers if Needed

For system operations, add handlers in src/main/main.ts and src/main/preload.ts
4

Test with Real Extensions

Verify compatibility with actual Raycast extensions from the store
5

Update Documentation

Mark the API as implemented in CLAUDE.md and this compatibility page

Next Steps

Overview

Learn how extensions work in SuperCmd

Installing

Install and update extensions