How to Enable and Disable Plugins with enabledPlugins in Claude Code
Turn a plugin on or off, and opt out of a project-enabled plugin on your own machine, using the enabledPlugins setting
In the explanatory article about enabledPlugins in Claude Code, we’ve seen that with enabledPlugins in your Claude Code settings.json you can control which installed plugins are switched on. This guide covers the three tasks you will actually reach for: turning a plugin on, turning one off, and opting out of a plugin your project forces on without touching the shared config.
Each key is plugin-name@marketplace-name and each value is true or false.
Enable a plugin
The direct route is to add the entry and set it to true. In ~/.claude/settings.json:
"enabledPlugins": {
"chrome-devtools-mcp@claude-plugins-official": true
}
The marketplace name must match the one the plugin was installed from. If you are unsure of the exact identifier, run /plugin, find the plugin, and let the menu write the entry for you. Then apply the change without restarting Claude Code:
/reload-plugins
Disable a plugin without uninstalling it
Set its value to false. The plugin stays on disk, so you can flip it back later, but it will not load:
"enabledPlugins": {
"code-review@claude-plugins-official": false
}
Run /reload-plugins to drop it from the current session. Use false rather than deleting the line: doing so falls back to the plugin’s own default, which is usually true, so removing the entry can silently re-enable the plugin you meant to stop.
Opt out of a project-enabled plugin on your machine
This is the case that trips people up. Your project commits .claude/settings.json with a plugin enabled for the whole team:
"enabledPlugins": {
"code-review@claude-plugins-official": true
}
Setting that plugin to false in your ~/.claude/settings.json does nothing, because project scope outranks user scope. To turn it off for yourself only, write to .claude/settings.local.json in the project. That file is gitignored and sits above project settings:
{
"enabledPlugins": {
"code-review@claude-plugins-official": false
}
}
Run /reload-plugins. The plugin is now off for you, and your teammates are unaffected because the change never leaves your machine.
Choose the right scope
Pick where you write the entry based on who it should affect:
.claude/settings.local.json(local, gitignored) — just you, just this repo; the only lever that overrides a project setting..claude/settings.json(project, committed) — enforced for everyone on the team.~/.claude/settings.json(user) — your default in every project.
Precedence runs managed > local > project > user, so a stronger scope always wins over a weaker one. Remember that managed (managed-settings.json) is set by your organization and cannot be overridden.
Takeaways and action points
- Set a plugin to
trueto load it,falseto disable it without uninstalling. - Run
/reload-pluginsto apply changes without restarting Claude Code. - Prefer
falseover deleting a line — deletion falls back to the plugin’s default and can re-enable it. - To escape a project-enabled plugin, write
falsein.claude/settings.local.json, not in your user settings.
Dear fellow developer, thank you for reading this guide to enabling and disabling plugins in Claude Code. Until next time, TheJavaGuy salutes you 👋!