Skip to main content

Ghost components

  • June 18, 2026
  • 1 reply
  • 15 views

Yaryna Lakomska

How do you get rid of “ghost components” after you make sure there are 0 instances in a library or work file, but they are still shown in the Assets panel in both the work file and the library? 

The flow was: I published the library with a new component → deleted the component → published the library again. It happened within a few minutes, so no one used it.

When I try to insert the ghost instance in the library it says “You can't add an instance of a shared component into the document from which the shared component was published if the original component was deleted."

So why does it still clutter my assets panel? How to fix this?

1 reply

Gayani_S
Figmate
  • Community Support
  • June 19, 2026

Hey ​@Yaryna Lakomska, thanks for reaching out!

When a component has been published to a library, even briefly, Figma retains a reference to it on the file's internal canvas. Deleting the component and publishing again should remove it from subscriber files, but the ghost entry can linger in the Assets panel of the library file itself. That's what's causing the clutter you're seeing. The error message when you try to insert it ("You can't add an instance of a shared component into the document from which the shared component was published if the original component was deleted") is actually Figma correctly blocking the action, the component is effectively dead, just not visually cleared from the panel.

A couple of things to try:

  1. In the library file, open the Assets panel, find the ghost component, and right-click it. If you see a Restore option, restore it, delete it properly from the canvas, then publish the library again. This gives Figma a clean deletion event to sync from.
  2. If no restore option appears and the component isn't anywhere on the canvas, try making a small change to the library (add and remove a temporary component, then publish). This can prompt a full re-sync and clear out lingering references.

For future cases, using Hide when publishing instead of deleting is the cleaner path, it removes the component from the Assets panel in subscriber files without leaving ghost entries behind. Our Hide styles, components, and variables when publishing article covers how that works in detail.

 

If neither of those clears it, it'd help to know whether the ghost is showing in both the library file and any subscriber files, or just one.Â