thedotmack/claude-mem · error
uv installation completed but binary not found. Please…
Error message
uv installation completed but binary not found. Please restart your terminal and try again.
What it means
Symmetric to the Bun check: after running the uv installer script, runUvInstaller re-checks isUvInstalled() and throws if the uv binary is still not found. It detects installer scripts that succeeded without putting uv on the current session's PATH.
Solutions
- Restart your terminal or source your profile so ~/.local/bin is on PATH, then re-run.
- Verify with 'which uv'; if missing, reinstall manually: curl -LsSf https://astral.sh/uv/install.sh | sh
- Add the uv install directory to PATH explicitly (e.g. export PATH="$HOME/.local/bin:$PATH").
Example fix
// before $ claude-mem install # throws: uv binary not found // after $ export PATH="$HOME/.local/bin:$PATH" $ which uv # then re-run installer
Defensive patterns
Strategy: fallback
Validate before calling
import { execSync } from 'child_process';
const uvOnPath = (): boolean => { try { execSync('uv --version', { stdio: 'ignore' }); return true; } catch { return false; } };
if (!uvOnPath()) console.warn('uv missing; ensure ~/.local/bin is on PATH'); Type guard
const hasUv = (p: string): boolean => existsSync(path.join(p, 'uv'));
Try / catch
try {
await ensureUv();
} catch (e) {
if (String(e).includes('binary not found')) {
console.error('Add ~/.local/bin to PATH or install uv manually, then retry.');
}
} Prevention
- Ensure ~/.local/bin is in PATH before running installers that need uv.
- Verify 'uv --version' in a fresh shell after install.
- Preinstall uv in CI images to skip the installer path.
When it happens
Trigger: runUvInstaller's install command exits 0 but the follow-up isUvInstalled() check still returns false.
Common situations: uv installed to ~/.local/bin which is not on PATH, shell profile not reloaded, or installer silently skipped on an unsupported platform.
Related errors
- Access denied: " " resolves outside the workspace ( ). MCP…
- Bun installation completed but binary not found. Please…
- Cannot lazy-spawn worker: Bun runtime not found on PATH
- Claude executable not found. Please either: 1. Add "claude"…
- claude-mem: uv --version probe failed:
AI-assisted analysis of thedotmack/claude-mem@d8bc9755e7 (2026-09-17).
Data as JSON: /api/errors/7c5e1525c1c42e9e.
Report an issue: GitHub.
Appendix: source
Thrown at src/npx-cli/install/setup-runtime.ts:239
/** Run the platform-specific uv installer, then confirm the binary is resolvable. */
function runUvInstaller(): void {
if (IS_WINDOWS) {
execSync('powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"', {
stdio: 'pipe',
timeout: INSTALL_TIMEOUT_MS,
shell: process.env.ComSpec ?? 'cmd.exe',
});
} else {
execSync('curl -LsSf https://astral.sh/uv/install.sh | sh', {
stdio: 'pipe',
timeout: INSTALL_TIMEOUT_MS,
shell: '/bin/bash',
});
}
if (!isUvInstalled()) {
throw new Error(
'uv installation completed but binary not found. Please restart your terminal and try again.',
);
}
}
function installUv(): void {
try {
runUvInstaller();
} catch (error) {
const err = error instanceof Error ? error : new Error(String(error));
const manualInstructions = IS_WINDOWS
? ' - winget install astral-sh.uv\n - Or: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"'
: ' - curl -LsSf https://astral.sh/uv/install.sh | sh\n - Or: brew install uv (macOS)';
throw new Error(
`Failed to install uv. Please install manually:\n${manualInstructions}\nThen restart your terminal and try again.\n` +
`Underlying error: ${describeExecError(err)}`,
);
}View on GitHub (pinned to d8bc9755e7)