Store

Browse, install and update extensions without leaving the panel

palupdated 2026-09-29SystemComes with pal

Open in pal

Comes with pal, so a new install already has it; the button finds it in pal again if you removed it. This page can't see what your pal has installed.

Store: The store as it opens: an update that waits, three featured, then a section per category with how each stands
The store as it opens: an update that waits, three featured, then a section per category with how each stands
Store: cmd+I opens the detail pane: what the extension is and does, its palettes and pictures, where it comes from
cmd+I opens the detail pane: what the extension is and does, its palettes and pictures, where it comes from
Store: Install on Enter; the store page and the install command a keystroke away
Install on Enter; the store page and the install command a keystroke away
1 of 3

What it does

Browse every extension your registries list, read its description and screenshots, and install it with Enter. Updates lead the list, and marked rows install, update or remove together.

  • Opens on three featured extensions and a section per category, each row with its icon, tagline and status (installed, built in, update available); typing searches them all
  • Narrow to Installed, Updates, a registry, or a category like Developer, Media or Fun
  • cmd+i shows the description, palettes and screenshots, where it comes from and whether it updates itself
  • enter installs (after a confirm), updates, or opens an extension you already have
  • Mark several rows to install, update or remove them together; ctrl+x removes one and keeps its settings
  • cmd+r fetches the registries again; one that does not answer says so above the list

Palettes 1

  • Storestoreinput

    Every listed extension, narrowed by the query and the filter; Enter installs, updates or opens.

    • ↵Install, update, or open
    • ⌘↵Open store page
    • ⌘CCopy install command
    • ⌃XRemove one installed from a registry
    • ⌘IDescription, palettes and screenshots
    • ⇥Next filter: Installed, Updates, Registries, a shelf
    • ⌘RFetch every registry again

Actions

  • InstallAfter a confirm; waits for the download and the load, then says how it went.↵
  • UpdateOn an extension the core has an update for.↵
  • OpenAn installed extension's first palette.↵
  • Open store pageThe extension's page on pal.cagdas.io, for pal's own registry.⌘↵
  • Copy install commandpal install <name> onto the clipboard.⌘C
  • RemoveOne installed from a registry; asks first. Its settings and data stay.⌃X

Settings

No settings. It works out of the box.

The README

Everything Store does, key by key, from the extension's own README.md

Store

Every extension your registries list, in the panel: pal's own registry first, then any you added (Settings › Extensions › Registries). An input palette: what you type narrows the list by name, title, tagline, category, keywords and palette titles; the dropdown (tab) filters to Installed, Updates, Registries, or one of the shelves. Every row is one listed extension with its tile, its tagline and how it stands: update, needs a newer pal, not updated (its registry no longer lists it), comes with pal, installed, or why it cannot be installed here. A row from a registry other than pal's carries that registry's name.

Rows and actions

standing Enter cmd+Enter cmd+c ctrl+x
not installed Install (asks first) Open store page Copy pal install <name>
not for this machine Open store page Copy install command
installed, update ready Update Open Copy install command Remove (asks first)
installed Open (its first palette) Open store page Copy install command Remove (asks first)
comes with pal Open Open store page Copy install command

Install, Update and Remove go through the core (extensions.install, update, remove in the SDK) and wait until the extension is loaded, or gone: a toast says how it went and the list relists in place. A failure names the extension and the reason, including one that installed but failed to load. Whether something has an update is the core's one check; the palette compares nothing. The store page is on pal.cagdas.io, so only pal's own registry's extensions have one. An extension that comes with pal is turned off in Settings › Extensions, never removed.

What has an update leads the list under an Updates heading (unless the filter already narrows to updates). Opened on All with nothing typed, Featured follows (the first three of Spotify, GitHub, Solitaire, Calendar, Translate, Disk Space, Hue and Typing that are not installed and install here; Settings' Browse has the same row), then a section per category, each by title. A search or a filter is one list, the extensions whose title the words start first.

Marked extensions (cmd-click, shift-click, shift+arrows) install, update or remove together, open their pages, or copy their install commands one per line; the questions name no extension, so they read for one or several.

The detail pane

cmd+i on a row: the description, what it does (the listing's features, when its index has them), the palettes, the screenshots from the listing, and what it installs first; the metadata lists the author, where it comes from, its status, its build (short hash and date), whether it updates by itself, category, platforms, the pal install line and, for pal's registry, a link to the page.

Registries

The Registries filter lists each registry with how its last check went, its channel and whether its extensions update by themselves, plus an Add registry row; Enter on any of them opens Settings › Extensions › Registries, where they are added, removed and switched.

The list

The core keeps the registries' indexes (extensions.state(), cheap). The first listing in ten minutes, and cmd+r, fetch every registry (extensions.refresh()); the cached rows show at once and the fresh ones replace them. A registry that did not answer says so above the list, with how old its list is; a fetch that failed says why. PAL_STORE_REFRESH_MS changes the ten minutes.

No settings.