$ termy docs
Plugins
Add commands, automations, and safe native tools to Termy.
Plugins extend Termy with TypeScript running in Bun. A plugin can add command-palette commands, react to terminal lifecycle events, store local data, and open small native tools rendered by Termy.
Plugins are trusted local code. They run with your user account's file, network, and process access, so read the source before installing one.
Getting started
Create, install, and develop your first plugin.
Commands and context
Add palette commands, inputs, settings, actions, and shortcuts.
Native UI
Build safe JSX tools that Termy renders with GPUI.
Lifecycle and storage
React to terminal events and keep plugin data between reloads.
Security and limits
Understand trust, isolation, imports, reloads, and runtime limits.
What plugins can do
| Capability | Use it for |
|---|---|
| Commands | Add searchable actions to the command palette and keybindings. |
| Context | Read the active terminal, selection, working directory, shell, tab, and pane. |
| Native UI | Return allowlisted JSX that Termy validates and renders with GPUI. |
| Lifecycle events | Respond when the terminal is ready, a tab changes, the directory changes, or a command finishes. |
| Settings and storage | Expose typed settings and persist plugin-specific JSON or files. |
Install Bun before loading plugins. Then open Settings → Plugins to install, enable, disable, refresh, or uninstall them. Developers can start with Getting started.