Get started
The fastest way to understand Muxy extensions is to make one run. This page takes you from nothing to a live extension in about two minutes, then points you at the rest of the docs.
An extension is an npm + Vite project that Muxy loads on
launch. It can add UI (tabs, panels, popovers, topbar and status-bar items),
register palette commands, react to workspace events, and — with permission —
drive the same verbs the muxy CLI exposes.
Run your first extension
-
In Muxy, open the Extensions modal → Create, pick a folder, and name it
my-extension. Muxy scaffolds thevanillastarter kit (a Hello panel, a panel-toggle command icon that may sit in the title bar or on the optional right rail, and a command) and loads it as a dev extension automatically. -
Build it so Muxy has a
dist/to read:cd my-extension npm install npm run build # produces dist/ — the folder Muxy loadsnpm run devstarts Vite's dev server for fast iteration, but Muxy loads the builtdist/folder, so runnpm run build(and Reload) to see changes in the app. -
Click Reload in the Extensions modal, then press ⌘⇧H (or use the sparkles icon in the title bar, or on the right-hand extension rail if Show Extension Icon Rail is on — this starter icon is a panel toggle, so it may sit on the rail). The Hello panel toggles — that's your extension running.
Dev extensions show a DEV badge. Edit the source, then Reload to see changes. Remove from Muxy on the detail page unloads it without touching your folder on disk.
Coding-agent skill
Scaffolded extensions already include the muxy-extension skill (in
.claude/skills/ and .agents/skills/) so coding agents follow Muxy's
conventions. To add it to an existing project, install it from
skills.sh:
npx skills add github.com/muxy-app/muxy/tree/main/Muxy/Resources/skills/muxy-extension
Make it your own
The starter kit is a working example of the most common pieces. To build something real:
- Declare what it does in
package.jsonunder themuxykey — see Manifest. - Add UI with Tabs, Panels, Popovers, Sidebars, Topbar, and Status Bar items, or run logic from Palette Commands and Scripts.
- Work with the workspace through Events, Git, Files, HTTP, and Settings.
- Request the minimum you need — see Permissions.
When you want the full picture of how extensions load and run, read the Overview.
Publish it
Ready to share it with everyone? Contributing an extension walks through the fork → develop → validate → pull request flow.