# Private Extension Publishing

> Available on: Mac
> Tier: Enterprise Exclusive

Raycast's Private Extension Publishing lets you choose which organization members can publish private extensions with the Raycast CLI.

> [!NOTE]
> Support for Enterprise features in Raycast for Windows has not yet been added. Contact us if you require these features in your organization.

**Private Extension Publishing** lets you decide who in your organization can publish [private extensions](https://manual.raycast.com/teams/shared-features#extensions) with the [Raycast CLI](https://developers.raycast.com/information/developer-tools/cli). Members who aren't allowed to publish see why when they try.

- **All members:** All members of your organization can publish private extensions with the Raycast CLI.
- **Managers only:** Only Managers can publish private extensions with the Raycast CLI. See [Roles & Permissions](https://manual.raycast.com/teams/roles-and-permissions) for more information.
- **No one:** No one in your organization can publish private extensions with the Raycast CLI. Members can still make changes to an extension and open a pull request to its repository, so the changes can be merged and then published.

To learn how to build and publish a private extension, see the [Publish a Private Extension guide](https://developers.raycast.com/teams/publish-a-private-extension).

## Configure Private Extension Publishing

1. In [Raycast Account Settings](https://www.raycast.com/settings/account), navigate to **Organization → Admin Controls**
2. Open the **Private Extension Publishing** dropdown
3. Choose **All members**, **Managers only**, or **No one**

![Private Extension Publishing setting in Admin Controls](https://fz1sd71lwhbqy6sh.public.blob.vercel-storage.com/raycast/images/enterprise/private-extension-publishing-setting.png)

## When Publishing Isn't Allowed

If a member who isn't allowed to publish runs `npm run publish`, the publish fails and the terminal explains why. For example, when **Private Extension Publishing** is set to **No one**, the terminal shows an error that names your organization and points to Admin Controls:

```text
HTTPError: publishing failed (error: 422 - Publishing private extensions is turned off for <organization-name>.
A manager can turn it back on with Private Extension Publishing in Admin Controls:
raycast.com/settings/organizations/<org-slug>/admin-controls
(raycast.com/api/v1/versions RequestID: <request-id>))
```

To let members publish again, a Manager can change **Private Extension Publishing** in **Organization → Admin Controls**.


---

## Need Help?

Contact Raycast Support if you have any questions or would like help with Private Extension Publishing. Use the **Send Feedback** command directly in Raycast to report bugs and billing issues, log feature requests, or any other queries you would like to speak to us about.

You can view all Raycast Support contact options at https://manual.raycast.com/contact-support
