How to fix E: Unable to correct problems, you have held broken packages in APT

APTINTERMEDIATEHIGHUpdated Dec 29, 2025ยท 351 views

The "held broken packages" error occurs when APT cannot resolve package dependencies due to held packages or version conflicts. This typically happens after incomplete updates or installing packages from incompatible repositories, and can be resolved by updating package lists, checking held packages, or using dependency fixing tools.

Quick fix

Fixes E: Unable to correct problems, you have held broken packages

sudo apt update
  1. Update package lists to refresh dependency information
  2. Fix broken package dependencies automatically
  3. Configure any unconfigured packages with dpkg
  4. Check for explicitly held packages and unhold if needed
apt โ€” error
sudo apt update
E: Unable to correct problems, you have held broken packages

What this error means

This error means APT (the package manager in Debian and Ubuntu-based systems) has encountered one or more packages that have unmet dependencies. A package may be "held" because it was explicitly marked to not be automatically upgraded, or because a previous installation was interrupted. When APT tries to upgrade or install packages, it cannot find compatible versions of all required dependencies, creating a broken state that prevents further package operations. The error typically appears when you have packages from third-party repositories (PPAs) that conflict with official packages, or when a package installation or upgrade was interrupted and left the system in an inconsistent state. APT's dependency resolver cannot find a way to satisfy all package requirements simultaneously.

Typical symptoms

  • apt update, apt upgrade, or apt install commands fail with this specific error message
  • The system is unable to install new packages or updates
  • Package manager GUI tools (Software Center, Synaptic) report broken dependencies
  • System updates are blocked until the dependency conflict is resolved

Common causes

  1. A package installation or update was interrupted and left the system in an incomplete state with unresolved dependencies
  2. Packages from third-party PPAs or external repositories are installed that conflict with official repository versions
  3. A package has been explicitly held (marked to not upgrade) but other packages now depend on a newer version of it
  4. Multiple conflicting versions of the same package are available and APT cannot determine which to use
  5. A previous partial upgrade left some packages unable to be configured or upgraded

How to fix "E: Unable to correct problems, you have held broken packages"

1Update package lists to refresh dependency information

First, update your package lists to ensure APT has the latest information about available packages and their dependencies. This often resolves the issue if the problem is simply outdated package metadata.

bash
sudo apt update

After running this, try your original command again (e.g., sudo apt upgrade or sudo apt install package-name). In many cases, this single step will resolve the issue by refreshing dependency information.

2Fix broken package dependencies automatically

If the update didn't work, use APT's built-in dependency fixer to automatically resolve broken packages. This tool analyzes unmet dependencies and attempts to fix them.

bash
sudo apt --fix-broken install

This command will show you what it plans to do and ask for confirmation before making changes. It works by either installing missing packages or removing conflicting ones to restore a consistent state.

3Configure any unconfigured packages with dpkg

If packages are stuck in a partially configured state, use dpkg to complete the configuration process. This is especially useful after interrupted installations.

bash
sudo dpkg --configure -a

The -a flag tells dpkg to configure all unconfigured packages. This often resolves dependency issues that stem from incomplete package installations.

4Check for explicitly held packages and unhold if needed

Some packages may be explicitly marked as "held" to prevent automatic upgrades. Check which packages are held on your system:

bash
apt-mark showhold

If any held packages appear in the error message, you can unhold them to allow APT to manage them normally:

bash
sudo apt-mark unhold package-name

Replace package-name with the actual package name. After unheld packages, try running sudo apt update and sudo apt upgrade again. Only unhold packages you're confident about updating.

5Use aptitude for more sophisticated dependency resolution

If APT's resolver still cannot find a solution, try using aptitude, which has a more advanced dependency resolver that can find solutions APT may miss:

bash
sudo apt install aptitude
sudo aptitude install package-name

Aptitude will present multiple solutions if conflicts exist and ask which approach you prefer. This gives you more control over how dependencies are resolved compared to APT's automatic approach.

6Remove the problematic package entirely if necessary

If a specific package is causing persistent conflicts, you may need to remove it completely and reinstall it or find an alternative. Use this as a last resort after trying the above steps:

bash
sudo apt remove --purge package-name
sudo apt autoremove
sudo apt update

The --purge flag removes the package and its configuration files. After removal, you can try reinstalling it with sudo apt install package-name, which will install the version that works with your current system state.

7Use dist-upgrade if some packages are held back

If the error mentions packages being held back from an upgrade, use dist-upgrade instead of the regular upgrade. This command handles changed dependencies that come with major version upgrades:

bash
sudo apt-get dist-upgrade

Note: dist-upgrade may remove some packages if necessary to resolve dependency conflicts, so review what it plans to remove before confirming.

Advanced notes

Using Synaptic GUI: If you prefer a graphical interface, the Synaptic Package Manager (sudo apt install synaptic && sudo synaptic) provides a "Fix Broken Packages" option in the Edit menu.

Understanding Package Holds: A package hold is a deliberate action to prevent a package from being automatically upgraded. Check what's being held with apt-mark showhold and only unhold packages after understanding why they were held in the first place (sometimes packages are held to maintain compatibility with specific software versions).

PPAs and Third-Party Repos: If the error appeared after adding a PPA, the most robust solution is often to remove the PPA entirely (sudo add-apt-repository --remove ppa:username/ppa-name) and then run the fixes above. PPAs can create dependency conflicts with official repositories.

Distribution-Specific Issues: Different Ubuntu/Debian versions handle dependencies differently. If you're running an older system, some PPAs may not have packages built for your version, causing conflicts. Check if the PPA supports your distribution before adding it.

Frequently asked questions

What does "E: Unable to correct problems, you have held broken packages" mean?
This error means APT (the package manager in Debian and Ubuntu-based systems) has encountered one or more packages that have unmet dependencies. A package may be "held" because it was explicitly marked to not be automatically upgraded, or because a previous installation was interrupted. When APT tries to upgrade or install packages, it cannot find compatible versions of all required dependencies, creating a broken state that prevents further package operations.
How do I fix "E: Unable to correct problems, you have held broken packages"?
The "held broken packages" error occurs when APT cannot resolve package dependencies due to held packages or version conflicts. This typically happens after incomplete updates or installing packages from incompatible repositories, and can be resolved by updating package lists, checking held packages, or using dependency fixing tools.
What causes "E: Unable to correct problems, you have held broken packages"?
A package installation or update was interrupted and left the system in an incomplete state with unresolved dependencies Packages from third-party PPAs or external repositories are installed that conflict with official repository versions A package has been explicitly held (marked to not upgrade) but other packages now depend on a newer version of it
Is the "E: Unable to correct problems, you have held broken packages" error serious?
Yes. This is a high-severity error that usually blocks work until it is fixed, but the steps above resolve it.

Official resources & further reading