{"record":{"id":"b0eaac900f4e6337","repo":"thedotmack/claude-mem","slug":"claude-mem-does-not-appear-to-be-installed","errorCode":null,"errorMessage":"claude-mem does not appear to be installed.","messagePattern":"claude-mem does not appear to be installed\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"src/npx-cli/commands/uninstall.ts","lineNumber":243,"sourceCode":"\n  const pluginDataDir = join(home, '.claude', 'plugins', 'data', 'claude-mem-thedotmack');\n  if (existsSync(pluginDataDir)) {\n    try {\n      rmSync(pluginDataDir, { recursive: true, force: true });\n      removedCount++;\n    } catch (error: unknown) {\n      console.warn(`[uninstall] Could not remove ${pluginDataDir}:`, error instanceof Error ? error.message : String(error));\n    }\n  }\n\n  return removedCount;\n}\n\nexport async function runUninstallCommand(): Promise<void> {\n  p.intro(styleText(['bgRed', 'white'], ' claude-mem uninstall '));\n\n  if (!isPluginInstalled()) {\n    p.log.warn('claude-mem does not appear to be installed.');\n\n    if (process.stdin.isTTY) {\n      const shouldCleanup = await p.confirm({\n        message: 'Clean up any remaining registration data anyway?',\n        initialValue: false,\n      });\n\n      if (p.isCancel(shouldCleanup) || !shouldCleanup) {\n        p.outro('Nothing to do.');\n        return;\n      }\n    } else {\n      p.outro('Nothing to do.');\n      return;\n    }\n  } else if (process.stdin.isTTY) {\n    const shouldContinue = await p.confirm({\n      message: 'Are you sure you want to uninstall claude-mem?',","sourceCodeStart":225,"sourceCodeEnd":261,"githubUrl":"https://github.com/thedotmack/claude-mem/blob/d8bc9755e74915e5c3b999181e10a67c889bce2a/src/npx-cli/commands/uninstall.ts#L225-L261","documentation":"runUninstallCommand first checks isPluginInstalled(). If the claude-mem plugin is not registered/installed, it warns that nothing appears installed but still offers, on a TTY, to clean up any leftover registration data anyway.","triggerScenarios":"Running `npx claude-mem uninstall` when `isPluginInstalled()` returns false — plugin never installed, already uninstalled, or installed under a different user/home so registration files are missing.","commonSituations":"Double uninstall after a prior successful removal; running uninstall with a different HOME or sudo than install; manual deletion of the plugin directory leaving the user unsure about leftovers.","solutions":["If it was genuinely never installed, answer 'no' to the cleanup prompt (or it's safe to decline) and finish.","Answer 'yes' to the 'Clean up any remaining registration data anyway?' prompt to remove stale registration artifacts.","If you expected it to be installed, check you're running as the same user/HOME used at install time, then reinstall first if desired."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"const pluginDir = path.join(process.env.USERPROFILE || process.env.HOME, '.claude', 'plugins');\nconsole.log(fs.existsSync(pluginDir) ? 'plugin dir exists' : 'plugin not installed; uninstall will only offer cleanup');","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Run uninstall as the same user (same HOME/USERPROFILE) that ran the install.","Don't manually delete plugin directories — use the uninstaller so state stays consistent.","If the warning appears unexpectedly, verify the install actually completed before uninstalling."],"tags":["uninstall","plugin","not-installed","cleanup"],"backgroundTag":"resource-not-found","analyzedSha":"d8bc9755e74915e5c3b999181e10a67c889bce2a","analyzedAt":"2026-09-17T16:40:26.182Z","contentChangedAt":"2026-09-17T16:40:26.182Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}