launch-plugin-badge/
The OpenHands frontend has a /launch route that anyone can click. It decodes a plugins parameter, shows a confirmation modal, and — after the user confirms — calls POST /api/v1/app-conversations using the user’s own auth. No secrets in the URL.
This is the no-code equivalent of Load a Plugin: instead of writing Python to call the API, you construct a URL and put it in a README badge or an HTML button.
The URL Format
| Parameter | Format | Purpose |
|---|---|---|
plugins | Base64-encoded JSON array of plugin specs | Which plugins to load |
message | URL-encoded string | Initial message sent to the agent |
Building the URL
Turn It Into a Badge
Once you have the URL, wrap it in Markdown or HTML:- Markdown badge
- Plain link
Use the Generator Script
The example ships a script that builds and prints these for you:Parameterized Plugins
If your plugin declaresparameters in its manifest, they appear as editable inputs in the launch confirmation modal:
See Also
- Load a Plugin — The programmatic (Python) equivalent of this example
- Plugins — Full plugin documentation including how to create a plugin manifest

