thedotmack/claude-mem · warning
claude-mem does not appear to be installed.
Error message
claude-mem does not appear to be installed.
What it means
`npx claude-mem uninstall` begins with `isPluginInstalled()`; when it returns false the command warns that claude-mem does not appear installed and, in a TTY, asks whether to clean up leftover registration data anyway. Declining (or cancel) ends with 'Nothing to do.'.
Source
Thrown at src/npx-cli/commands/uninstall.ts:243
const pluginDataDir = join(home, '.claude', 'plugins', 'data', 'claude-mem-thedotmack');
if (existsSync(pluginDataDir)) {
try {
rmSync(pluginDataDir, { recursive: true, force: true });
removedCount++;
} catch (error: unknown) {
console.warn(`[uninstall] Could not remove ${pluginDataDir}:`, error instanceof Error ? error.message : String(error));
}
}
return removedCount;
}
export async function runUninstallCommand(): Promise<void> {
p.intro(styleText(['bgRed', 'white'], ' claude-mem uninstall '));
if (!isPluginInstalled()) {
p.log.warn('claude-mem does not appear to be installed.');
if (process.stdin.isTTY) {
const shouldCleanup = await p.confirm({
message: 'Clean up any remaining registration data anyway?',
initialValue: false,
});
if (p.isCancel(shouldCleanup) || !shouldCleanup) {
p.outro('Nothing to do.');
return;
}
} else {
p.outro('Nothing to do.');
return;
}
} else if (process.stdin.isTTY) {
const shouldContinue = await p.confirm({
message: 'Are you sure you want to uninstall claude-mem?',View on GitHub (pinned to 8bc631a71a)
Solutions
- If leftovers may exist, answer yes to the cleanup prompt; non-TTY runs proceed with cleanup automatically.
- If you expected an install, check the plugin location and re-run `npx claude-mem@latest install`.
- Run uninstall again after a successful install if you want everything removed.
Defensive patterns
Strategy: validation
Validate before calling
import { existsSync } from 'node:fs';
import { join } from 'node:path';
import os from 'node:os';
const pluginInstalled = existsSync(join(os.homedir(), '.claude', 'plugins', 'marketplaces', 'thedotmack')); Prevention
- Check the plugin directory exists before running uninstall.
- Avoid deleting install dirs by hand; use the uninstall command so registration data is cleaned too.
When it happens
Trigger: Run the uninstall command when the plugin files/marker are absent — install never completed, a previous uninstall already ran, or the plugin directory was removed manually.
Common situations: Double uninstall, half-failed install, plugin dir deleted by hand, or a different user/npm prefix owning the install.
Related errors
- [uninstall] Worker shutdown attempt failed:
- API key prompt cancelled — leaving existing configuration un
- Gateway setup cancelled — leaving existing configuration unt
- CLAUDE_CODE_PATH is set to "${settings.CLAUDE_CODE_PATH}" ($
- Every Claude CLI found is too old for claude-mem (each rejec
AI-assisted analysis of thedotmack/claude-mem@8bc631a71a (2026-08-20).
Data as JSON: /api/errors/b0eaac900f4e6337.
Report an issue: GitHub.