claude-code - 💡(How to fix) Fix [Bug] Plugin uninstall fails with case-sensitivity mismatch in settings.json lookup [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#56291Fetched 2026-05-06 06:32:02
View on GitHub
Comments
0
Participants
1
Timeline
4
Reactions
0
Participants
Timeline (top)
labeled ×4

Error Message

[{"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…

Root Cause

Suspected root cause

Fix Action

Fix / Workaround

Workaround

Code Example

[{"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
RAW_BUFFERClick to expand / collapse

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.
  3. 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).
  2. Delete the cache dir: rm -rf ~/.claude/plugins/cache/claude-plugins-official/notion.
  3. 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.

extent analysis

TL;DR

The uninstallation of plugins via the UI fails due to a case-sensitivity mismatch between the plugin slug in settings.json and the display name in the UI, and a workaround involves manual cleanup and normalization of plugin slugs.

Guidance

  • The issue is likely caused by the case mismatch between the storage key and the lookup key for the plugin, so normalizing plugin slugs to a single canonical case (lowercase) could resolve the issue.
  • To verify the issue, check the settings.json file for the plugin slug and compare it to the display name in the UI.
  • A temporary workaround is to manually remove the plugin from enabledPlugins in settings.json, delete the cache directory, and restart Claude Code.
  • To mitigate the issue, consider comparing plugin names case-insensitively when resolving the plugin name to its enabledPlugins entry.

Example

No code snippet is provided as the issue is related to configuration and plugin management.

Notes

The provided workaround is a manual process and may not be suitable for all users, and the suggested fix requires changes to the plugin management code.

Recommendation

Apply the workaround of manual cleanup and normalization of plugin slugs, as it provides a temporary solution to the issue, and consider implementing the suggested fix to normalize plugin slugs to a single canonical case (lowercase) for a more permanent resolution.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [Bug] Plugin uninstall fails with case-sensitivity mismatch in settings.json lookup [1 participants]