---
slug: "kmiyh-pi-extensions-menu"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/Kmiyh/pi-extensions-menu@main/README.md"
repo: "https://github.com/Kmiyh/pi-extensions-menu"
source_file: "README.md"
branch: "main"
---
# @kmiyh/pi-extensions-menu

`@kmiyh/pi-extensions-menu` is a Pi extension that adds a dedicated `/extensions` modal for browsing and managing Pi extensions.

Instead of relying on the default startup extensions listing, it gives you one focused place to inspect local and installed extensions, check whether updates are available, enable or disable them, and open package links.

## What it does

- adds a single `/extensions` command
- shows extensions in two groups:

![extensions-menu.jpg](https://github.com/Kmiyh/pi-extensions-menu/raw/HEAD/src/images/extensions-menu.jpg)

- displays package name, version, size, scope, and short description
- shows which installed extensions have updates available
- lets you enable or disable extensions
- lets you update one extension or all installed extensions
- provides a preview panel with metadata and package link

![extension-preview.jpg](https://github.com/Kmiyh/pi-extensions-menu/raw/HEAD/src/images/extension-preview.jpg)

## Installation

```bash
pi install npm:@kmiyh/pi-extensions-menu
```

## Keyboard shortcuts

### In the list

- `↑` / `↓` — move selection
- `Tab` — open preview
- `Ctrl+X` — enable or disable the selected extension
- `Ctrl+U` — update the selected extension
- `Ctrl+A` — update all installed extensions
- `Esc` — clear search or close the modal

### In preview

- `Ctrl+X` — enable or disable the current extension
- `Ctrl+U` — update the current extension
- `Ctrl+A` — update all installed extensions
- `Ctrl+O` — open the extension link in the browser
- `Esc` — go back to the list

## Notes

- updates are available for installed package extensions
- after enabling, disabling, or updating an extension, run `/reload` to fully apply runtime changes
- temporary extensions started with `pi -e ...` are also shown in the menu
- package publishing and versioning follow the same workflow as the neighboring repository

## Local development

```bash
npm install
npm run typecheck
pi -e ./src/index.ts
```

## License

MIT
