One chronological view of everything happening in the Raycast Store — new extensions, updates to the ones you already have, and the ones that quietly disappeared.
Features • Requirements • Quick Start • Usage • Development

To keep an eye on things passively, enable Store Updates Menu Bar — it refreshes hourly and badges the count of unseen items.
| Command | Mode | Description |
|---|---|---|
| View Store Updates | view | The full chronological list of new, updated, and removed extensions |
| Store Updates Menu Bar | menu-bar | A badge of unseen Store activity, refreshed every hour in the background |
The Find Store Updates tool works in Raycast's Ask AI chat. Mention @raycast-store-updates to ask about new or updated extensions. You can search by keyword, date range, or installed extension.
If GitHub cannot load updates, Ask AI still shows new extensions from the Store feed and explains why updates are missing. Update searches use the latest 50 GitHub pull requests. Ask AI warns when those requests do not cover the full date range you asked about.
| Action | Shortcut | Description |
|---|---|---|
| View Changelog | ⏎ | Read the extension's changelog inside Raycast |
| View Extension in Store | ⌥⇧⌘O | Deep-link straight to the Store page in Raycast |
| Open in Browser | Common.Open | Open the Store listing on the web |
| Copy Latest Changes | Common.Copy | Copy only the latest release's changelog entry |
| Copy Extension URL | Common.CopyName | Copy the Store URL |
| Open Changelog in Browser | ⌘⇧L | Open CHANGELOG.md on GitHub |
| Refresh | Common.Refresh | Re-fetch the list |
| Update Installed Extensions | ⌘⇧U | Run Raycast's own updater on your installed extensions |
| Show/Hide macOS-only | ⌘⇧M | Toggle platform-exclusive macOS extensions |
| Show/Hide Windows-only | ⌘⇧W | Toggle platform-exclusive Windows extensions |
| Filter by Category | ⌘⇧F | Pick a single category |
| Mark as Read | ⌘⇧R | Requires read tracking to be enabled |
| Mark All as Read | ⌘⇧A | Requires read tracking to be enabled |
| Undo | ⌘Z | Reverse the last read-status change |
Actions listed with a Common.* constant use Raycast's system-wide binding for that
semantic, which differs between macOS and Windows — that is the point of the constant, and
why this table names the semantic rather than a key combination.
Tip: Hold ⌥ and click an item in the menu bar to open its changelog instead of its Store page.

| Preference | Values | Default |
|---|---|---|
| Read Status | Checkbox — enable read/unread tracking | Off |
| GitHub Token | Password — a classic token with no scopes | Empty |
| GraphQL | Checkbox — fetch pull requests via GraphQL (experimental, requires a token) | Off |
| Menu Bar | All Updates / My Updates (installed only) | All Updates |
raycast-store-updates/
├── src/
│ ├── view-store-updates.tsx # The main list command
│ ├── store-updates-menu-bar.tsx # The menu-bar badge
│ ├── components/ # List items, detail panes, action panels
│ ├── hooks/ # Read state, filter toggles, changelog, rate limit
│ ├── types/ # The unified StoreItem shape
│ └── utils/ # Fetching, slug resolution, caching, GraphQL
├── assets/ # Extension and platform icons
├── metadata/ # Store screenshots
├── media/ # README images
├── package.json
└── tsconfig.json
| Script | Description |
|---|---|
npm run dev | Start in development mode with hot reload |
npm run build | Build for production |
npm run lint | Run Raycast ESLint config |
npm run fix-lint | Auto-fix lint issues |
npm run publish | Publish to the Raycast Store |
Verification is npm run build, npm run lint, npm test, and
npx ray evals --non-interactive --exit-on-error. Test the commands and Ask AI tool in Raycast.
git clone https://github.com/chrismessina/raycast-store-updates.git
cd raycast-store-updates
npm install
npm run dev
| Package | Role |
|---|---|
@raycast/api | Raycast extension primitives |
@raycast/utils | Higher-level Raycast utilities (useFetch, useCachedPromise) |
@chrismessina/raycast-kit | House-style failure toasts and count-aware copy |
MIT © Chris Messina