SharePoint / SharePoint/sp-dev-docs

SPFx - Multiple extensions in one solution - Component ID {id} exists more than once in current package

Open
#10,818 4 comments 0 reactions 1 assignee View on GitHub

@Ashlesha-MSFT is already working on this.

Since May 4, 2026.

area:spfx Needs: Author Feedback sharepoint-developer-support type:bug-confirmed
Dominant language
PowerShell
Stars
1.4k
Forks
1.1k
Avg merge
4d 12h
Merged PRs (30d)
12

Description

Target SharePoint environment

SharePoint Online

What SharePoint development model, framework, SDK or API is this about?

💥 SharePoint Framework

Developer environment

Windows

What browser(s) / client(s) have you tested
  • 💥 Internet Explorer
  • 💥 Microsoft Edge
  • 💥 Google Chrome
  • 💥 FireFox
  • 💥 Safari
  • mobile (iOS/iPadOS)
  • mobile (Android)
  • not applicable
  • other (enter in the "Additional environment details" area below)
Additional environment details
  • SPFx version: 1.22.2
  • Node.js version: 22.18.0
Describe the bug / error

Hello,
We have a SharePoint Framework (SPFx) solution that contains four extensions.
In the package-solution.json, we have defined four features, with one feature per extension.
The initial deployment of the solution to the site collection app catalog works as expected.
However, when we deploy a new version of the solution (by uploading an updated .sppkg file), the deployment fails. The app package reports the following error:

Component ID {id} exists more than once in the current package

As a result, none of the extensions are loaded.
As a workaround, we found that deleting all entries related to this solution from the Client Side Component Manifests list and then redeploying the solution allows the deployment to succeed.
This issue appears to be the same as (or closely related to) the one described here: https://github.com/SharePoint/sp-dev-docs/issues/3802

Steps to reproduce
  1. Create a SharePoint Framework (SPFx) solution containing multiple extensions.
  2. In package-solution.json, define one feature per extension (each feature referencing a single extension).
  3. Deploy the solution to a site collection app catalog.
    ✅ Initial deployment completes successfully.
  4. Add the app to the site (New -> App)
  5. Increment the solution version in package-solution.json.
  6. Increment the version number of each feature defined in the same file.
  7. Rebuild the solution using the following commands:
heft clean
heft build --production
heft package-solution --production
  1. Upload the newly generated .sppkg file to the same site collection app catalog.

🚫 Deployment fails with the error:

Component ID {id} exists more than once in the current package

Expected behavior
  • The solution package should deploy successfully without errors.
  • Existing extensions should be updated in place based on their component IDs.
  • All extensions should be loaded and executed correctly after deployment.
  • Updating the solution and feature version numbers should be sufficient, without requiring any manual cleanup or removal of previously deployed components.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.