Home / Companies / Raycast / Blog / Post Details
Content Deep Dive

How the Raycast API and extensions work

Blog post from Raycast

Post Details
Company
Date Published
Author
Felix Raab
Word Count
5,143
Language
English
Hacker News Points
-
Summary

Raycast, a native macOS app, has developed an extension API to allow developers to customize the platform and create shareable extensions without making them feel secondary. Initially, Raycast used TypeScript and JavaScriptCore to run extensions but faced limitations with library compatibility and user experience. To overcome these, the team pivoted to using React on Node.js, allowing for a more familiar development environment and broader library access. Extensions run in isolated processes using Node's worker threads to maintain stability and security, while communication with Raycast is facilitated through JSON-RPC. The development experience is enhanced through a command line interface, enabling seamless testing and deployment of extensions. Raycast's API evolves based on user feedback, with new features added to enable more complex extensions, including menu bar commands and AI functionalities. The extensions are reviewed and open-sourced to ensure quality and transparency, fostering a thriving community and enabling the development of hundreds of extensions so far.