How to Uninstall a Broken Plugin When You Cannot Log In
Locked out by the plugin you need to remove. There are three ways in, and none of them require the dashboard.
Updated 29 August 2026
A plugin update fires a fatal error and takes wp-admin down with the front end. The dashboard is the obvious place to deactivate it, and the dashboard is exactly what you cannot reach. Here are three ways around that, in the order you should try them.
Method 1: Rename the folder over SFTP
The fastest fix, and it needs nothing but file access.
- Connect over SFTP, FTP, or your host's file manager.
- Go to
wp-content/plugins/. - Rename the offending plugin's folder —
bad-pluginbecomesbad-plugin-off. - Reload the site.
WordPress looks for the plugin, cannot find it, and deactivates it automatically. You will see a notice about it being deactivated the next time you log in.
If you do not know which plugin is at fault, rename the whole plugins folder to plugins-off. Everything deactivates at once. Rename it back afterwards and reactivate one at a time to find the culprit.
Method 2: WP-CLI
If you have SSH access, this is cleaner because WordPress performs a proper deactivation rather than discovering the plugin has vanished:
wp plugin list --status=active
wp plugin deactivate bad-plugin
wp plugin deactivate --all # if you do not know which
WP-CLI runs outside the web request, so it works even when every HTTP request fatals. If a plugin is so broken it crashes WP-CLI too, add --skip-plugins.
Method 3: The database
Last resort, when you have database access but not file access — some panels are set up that way.
- Open phpMyAdmin or Adminer.
- Find the
wp_optionstable (your prefix may differ). - Find the row where
option_nameisactive_plugins. - Copy the current value somewhere safe first.
- Replace the value with
a:0:{}, which is an empty serialised array. That deactivates everything.
Do not try to hand-edit the serialised string to remove one plugin. It encodes the length of every entry, and getting a count wrong corrupts the value in ways that are hard to diagnose. Deactivate all, then reactivate selectively from the dashboard.
Then finish the job properly
- Log in and confirm the site works.
- If you renamed a folder, rename it back so WordPress can see the plugin — it stays deactivated.
- Decide: update it, replace it, or delete it. Leaving a fatal-erroring plugin installed is asking for someone to reactivate it later.
- Check whether the plugin author has already shipped a fix. Read the support forum before assuming it is abandoned.
Why it broke
Usually one of three things. A PHP version jump the plugin does not support. A conflict with another plugin updated at the same time. Or a partial update, where files were half-written when the request timed out — in which case deleting and reinstalling cleanly fixes it, and your settings survive because they live in the database.
Prevention
- Keep SFTP credentials somewhere you can reach in a hurry — not only in the browser that is now showing an error page.
- Update in small batches so you always know which change caused what.
- Take a backup before updating, not after.
- Install the Health Check & Troubleshooting plugin before you need it — it lets you disable plugins for your own session only.
Common questions
Does renaming the folder delete my settings?
No. Settings live in the database. Renaming only stops WordPress loading the code, and everything comes back when you rename it and reactivate.
I renamed the folder and the site is still broken.
Then that plugin was not the cause. Rename the whole plugins folder to disable everything; if it is still broken, the problem is the theme or something in core.