[Bug] Plugin uninstall fails with case-sensitivity mismatch in settings.json lookup

Resolved 💬 1 comment Opened May 5, 2026 by Ilan-kiliogene Closed May 7, 2026

Bug Description
Titre : /plugins uninstall fails with case-sensitivity mismatch (settings.json key vs UI label)

Body :

## Summary

Uninstalling a plugin via /plugins → Installed → <plugin> → Uninstall
fails when the plugin slug stored in ~/.claude/settings.json differs in
case from the display name shown in the UI. The Notion plugin from the
official marketplace reproduces this consistently.

## Environment

  • Claude Code: v2.1.128
  • OS: macOS (Darwin 24.3.0)
  • Shell: zsh
  • Install scope: user (~/.claude/settings.json)

## Steps to reproduce

  1. Install the Notion plugin: /plugin → Discover → Notion → Install.
  2. Verify it is enabled: ~/.claude/settings.json contains

"notion@claude-plugins-official": true under enabledPlugins.

  1. Open /pluginsInstalled tab → select NotionUninstall.

## Expected

The plugin is removed from enabledPlugins and its cache directory is
cleaned up.

## Actual

UI shows:

> Failed to uninstall: Plugin "Notion@claude-plugins-official" is not
> installed in user scope. Use --scope to specify the correct scope.

A second error appears in the same view, under Components:

> Error: Plugin Notion not found in marketplace

Meanwhile the header still reads Scope: user and Status: Enabled,
which contradicts the error.

## Suspected root cause

Case mismatch between the storage key and the lookup key:

  • ~/.claude/settings.json stores the plugin as

notion@claude-plugins-official (lowercase n).

  • The uninstall code path looks up Notion@claude-plugins-official

(capitalized N, matching the display name shown in the UI).

The lookup fails, so the uninstall reports "not installed in user scope"
even though it is installed in user scope.

## Workaround

Manual cleanup:

  1. Remove the line "notion@claude-plugins-official": true from

enabledPlugins in ~/.claude/settings.json (mind the trailing
comma on the previous entry).

  1. Delete the cache dir:

rm -rf ~/.claude/plugins/cache/claude-plugins-official/notion.

  1. Restart Claude Code so the MCP server plugin:Notion:notion is

unregistered.

## Suggested fix

Normalize plugin slugs to a single canonical case (lowercase) on both
storage and lookup paths, or compare case-insensitively when resolving
the plugin name to its enabledPlugins entry.

## Screenshot[Image #3]

Environment Info

  • Platform: darwin
  • Terminal: ghostty
  • Version: 2.1.128
  • Feedback ID: 3eec938a-38ce-48f8-bbec-125d1519525a

Errors

[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/ilanbux/.local/share/claude/versions/2.1.128 (expected in multi-process scenarios)\n    at Nq6 (/$bunfs/root/src/entrypoints/cli.js:2764:2177)\n    at uGH (/$bunfs/root/src/entrypoints/cli.js:2764:1257)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-05-05T12:31:16.152Z"},{"error":"Error: Plugin \"Notion@claude-plugins-official\" is not installed in user scope. Use --scope to specify the correct scope.\n    at <anonymous> (/$bunfs/root/src/entrypoints/cli.js:6366:34845)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-05-05T12:45:35.169Z"},{"error":"Error: Plugin \"Notion@claude-plugins-official\" is not installed in user scope. Use --scope to specify the correct scope.\n    at <anonymous> (/$bunfs/root/src/entrypoints/cli.js:6366:34845)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-05-05T12:45:43.996Z"},{"error":"Error: Tool mcp__plugin_Notion_notion__notion-search not found\n    at GG7 (/$bunfs/root/src/entrypoints/cli.js:3123:36246)\n    at UO (/$bunfs/root/src/entrypoints/cli.js:499:21133)\n    at wY (/$bunfs/root/src/entrypoints/cli.js:499:39891)\n    at aKH (/$bunfs/root/src/entrypoints/cli.js:499:50702)\n    at r2_ (/$bunfs/root/src/entrypoints/cli.js:499:87723)\n    at GrH (/$bunfs/root/src/entrypoints/cli.js:499:86683)\n    at WrH (/$bunfs/root/src/entrypoints/cli.js:499:86503)\n    at vvH (/$bunfs/root/src/entrypoints/cli.js:499:82834)\n    at O_ (/$bunfs/root/src/entrypoints/cli.js:499:6550)\n    at vH (/$bunfs/root/src/entrypoints/cli.js:499:5004)","timestamp":"2026-05-05T12:45:53.800Z"},{"error":"Error: Tool mcp__plugin_Notion_notion__notion-search not found\n    at GG7 (/$bunfs/root/src/entrypoints/cli.js:3123:36246)\n    at UO (/$bunfs/root/src/entrypoints/cli.js:499:21133)\n    at wY (/$bunfs/root/src/entrypoints/cli.js:499:39891)\n    at aKH (/$bunfs/root/src/entrypoints/cli.js:499:50702)\n    at r2_ (/$bunfs/root/src/entrypoints/cli.js:499:87723)\n    at GrH (/$bunfs/root/src/entrypoints/cli.js:499:8668…

Note: Content was truncated.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗