Install and Use Plugins

Install, list, remove, configure, verify, and debug Restish plugins.

This is the operator path for using plugins that already exist.

Plugins are executable programs on your machine. Install and run them at your own risk, from sources you trust. Restish checks the plugin manifest and capabilities, but it does not sandbox plugin code or verify publisher identity.

List Plugins

restish plugin list

Run this first when an output format, command, auth method, or TLS signer is missing.

Install A Plugin

Install from the official Restish GitHub releases:

restish plugin install rest-sh/restish csv

The second argument is expanded to a plugin binary name, so csv means restish-csv. Restish downloads the latest release asset for your OS and CPU, extracts it, verifies the plugin manifest, and copies the binary into your plugin directory.

For plugin development, build the plugin from this repository and install that local binary instead:

go build ./cmd/restish-csv
restish plugin install ./restish-csv

plugin install prints the source, resolved file or download URL, manifest name/version, and declared capabilities before installing. In a terminal, confirm the trust prompt to continue. In automation, pass --yes after choosing a source you intend to trust:

restish plugin install rest-sh/restish csv --yes

Install a system-installed plugin from PATH:

brew install rest-sh/tap/restish-csv
restish plugin install restish-csv

Use the same pattern for restish-bulk, restish-mcp, and restish-pkcs11.

Install directly from a URL when your team publishes archives somewhere else:

restish plugin install https://downloads.example.com/restish-csv_darwin_arm64.tar.gz

For local development builds, install the binary directly:

restish plugin install ./restish-csv

The plugin must be executable and compatible with the v2 plugin protocol. Every install path verifies the plugin manifest before keeping the binary, but manifest verification is protocol compatibility, not a security review. Restish does not verify publisher identity, pin mutable release assets, or make remote code safer than running any other downloaded executable. Restish shows declared capability families in plugin list, and it only enables capabilities that the manifest explicitly declares. Restish loads plugins only after they are installed into Restish’s configured plugin directory; it does not scan every executable on PATH.

Remove A Plugin

restish plugin remove restish-csv

Verify Behavior

Formatter example:

restish api.rest.sh/images -o csv

Command plugin example:

restish bulk --help
restish mcp serve example

Debug A Plugin

restish plugin debug ./restish-csv

Debug mode prints decoded protocol messages to stderr. Use it when a plugin is discovered but does not behave as expected.