---
title: Install PublishPress Plugins Using Composer
description: "You can install and manage PublishPress plugins using Composer with [WPStarter](https://github.com/wecodemore/wpstarter), [Bedrock](https://roots.io/bedrock/), or any setup. **Key difference:** Pro plugins require authentication to our private repositories. Free plugins don't. **Note:** [WPStarter](https://github.com/wecodemore/wpstarter)/[Bedrock](https://roots.io/bedrock/) aren't required—they're optional tools for managing WordPress itself via Composer.…"
url: "https://publishpress.com/knowledge-base/install-composer/"
updated: "2026-10-14"
category: PublishPress.com Questions / Installing
---

# Install PublishPress Plugins Using Composer

You can install and manage PublishPress plugins using Composer with [WPStarter](https://github.com/wecodemore/wpstarter), [Bedrock](https://roots.io/bedrock/), or any setup.

**Key difference:** Pro plugins require authentication to our private repositories. Free plugins don't.

**Note:** [WPStarter](https://github.com/wecodemore/wpstarter)/[Bedrock](https://roots.io/bedrock/) aren't required—they're optional tools for managing WordPress itself via Composer.

---

## Composer Setup for PublishPress Pro Plugins

### Activating the license key for your site

You must activate your license key for each site where you use it.

Steps:

1. Go to [https://publishpress.com/dashboard/](https://publishpress.com/dashboard/)
2. Click "Manage Sites" for your license key
3. Enter the site URL and click "Add"

### Configuring composer.json

Add `https://pkg.publishpress.com/v1` as a Composer repository in your `composer.json`:

```
{
    "repositories": [
        {
            "type": "composer",
            "url": "https://pkg.publishpress.com/v1"
        }
    ],
    "require": {
        "publishpress/publishpress-future-pro": "^1.0",
        "publishpress/publishpress-authors-pro": "^1.0"
    }
}
```

Note: Replace `"*"` with proper version constraints (e.g., `"^1.0"`, `"~2.3.0"`) per [Composer's versioning](https://getcomposer.org/doc/articles/versions.md).

**Available packages:**

- `publishpress/publishpress-future-pro`
- `publishpress/publishpress-authors-pro`
- `publishpress/publishpress-checklists-pro`
- `publishpress/publishpress-capabilities-pro`
- `publishpress/publishpress-planner-pro`
- `publishpress/publishpress-permissions-pro`
- `publishpress/publishpress-statuses-pro`
- `publishpress/publishpress-blocks-pro`
- `publishpress/publishpress-series-pro`
- `publishpress/publishpress-revisions-pro`

### Authenticating Pro Plugins

Create `auth.json` with your license credentials

```
{
    "http-basic": {
        "pkg.publishpress.com": {
            "username": "YOUR_LICENSE_KEY",
            "password": "YOUR_SITE_URL"
        }
    }
}
```

**Security:** Add `auth.json` to `.gitignore` to avoid committing credentials.

---

## Composer Setup for PublishPress Free Plugins

Install free plugins via [wpackagist.org](https://wpackagist.org/).

**Package names:**

- [PublishPress Authors](https://publishpress.com/links/authors): `wpackagist-plugin/publishpress-authors`
- [PublishPress Future](https://publishpress.com/links/future): `wpackagist-plugin/post-expirator`
- [PublishPress Blocks](https://publishpress.com/links/blocks): `wpackagist-plugin/advanced-gutenberg`
- [PublishPress Capabilities](https://publishpress.com/links/capabilities): `wpackagist-plugin/capability-manager-enhanced`
- [PublishPress Revisions](https://publishpress.com/links/revisions): `wpackagist-plugin/revisionary`
- [PublishPress Permissions](https://publishpress.com/links/permissions): `wpackagist-plugin/press-permit-core`
- [PublishPress Checklists](https://publishpress.com/links/checklists): `wpackagist-plugin/publishpress-checklists`
- [PublishPress Planner](https://publishpress.com/links/planner): `wpackagist-plugin/publishpress`
- [PublishPress Statuses](https://publishpress.com/links/statuses): `wpackagist-plugin/publishpress-statuses`
- [PublishPress Series](https://publishpress.com/links/series): `wpackagist-plugin/organize-series`

---

## Installing From a Local Path

Composer supports installing packages from local directories instead of remote repositories. Download the plugin ZIP files and extract them to your chosen folder, then configure your repository:

```
{
  "repositories": [
    {
      "type": "path",
      "url": "../../packages/the-plugin-package"
    }
  ]
}
```

Replace `../../packages/the-plugin-package` with your actual path relative to `composer.json`.

---

### Directory Names

**Legacy naming:** Some plugins (Blocks, Capabilities, Future) use legacy folder names when installed via WordPress admin or ZIP upload.

**Composer naming:** When installed via Composer, all plugins use the package name from your `composer.json` `require` setting as the folder name.

**Example:** `publishpress/publishpress-future-pro` installs to `/publishpress-future-pro/` instead of the legacy folder name.

---

## Switching to Composer for Existing Plugins

If you've previously installed a PublishPress plugin through WordPress and want to manage it using Composer, follow these steps:

1. **Backup your site**
2. **Delete the plugin folder** from your WordPress plugins directory to avoid conflicts
3. **Add the plugin to composer.json** following the instructions above
4. **Run**`composer update`
5. **Visit the admin panel** - any required migration tasks will run automatically
