---
title: "Publishing Plugins"
canonical_url: https://developer.repebble.com/guides/plugins/publishing-plugins/
last_updated: 2026-10-20
sdk_version: 4.33.1
---
# Publishing Plugins

Source: https://developer.repebble.com/guides/plugins/publishing-plugins/

**Important**  

Plugins are a preview. Publishing plugins is limited to invited developers for now.

## Publish a plugin

Run `pebble publish` in the plugin's project, the same way as for an app (see [_Publishing an App_](https://developer.repebble.com/guides/appstore-publishing/publishing-an-app.md)):

```
$ pebble login$ pebble publish
```

The first time, the command creates the plugin's listing: it asks for a name, a description and a plugin category. Plugins have no screenshots. Pass `--icon-small` and `--icon-large`, or let the appstore generate a line icon from the description. Later runs upload a new release to the same listing.

## Sign users in with OAuth

A plugin that calls an API on the user's behalf can sign them in to it without shipping your client secret in the `.pbw`. The appstore keeps the secret and runs the token exchange; the plugin only receives the user's tokens.

1. Declare a connector in `package.json`, under `pebble.plugin`, with a slug of your choice:

2. Register an OAuth app with the service and set its redirect URI to:

3. Give the appstore the service's settings. `pebble publish` offers to do this after uploading; to do it later, or to change them:

4. In the plugin, start the sign-in and keep the tokens in secure storage:

`authorize` also works on the emulator: it opens the service's sign-in page in your browser, signed in as your `pebble login` account. The connector must be set up first.
