[BUG] Native installer fails with "another process is currently installing" on Linux even after complete cleanup

Status Fixed / completed
Maintainer reply None cached
Activity 13 comments · opened Dec 10, 2025 · closed Dec 12, 2025

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The native installer (curl -fsSL https://claude.ai/install.sh | bash) consistently fails with "another process is currently installing Claude" even on a completely clean system with no prior Claude Code installation artifacts.
The error persists even when:

  • All Claude-related directories are removed (~/.claude, ~/.local/share/claude*, ~/.local/bin/claude)
  • Config files are removed (~/.claude.json, ~/.claude.json.backup)
  • No Claude processes are running (ps aux | grep claude shows nothing)
  • No lock files exist anywhere (find across /tmp, /var/lock, /run/lock, $XDG_RUNTIME_DIR shows nothing)
  • Running with --force flag

What Should Happen?

  • --force should override lock checks as documented
  • Fresh install on clean system should succeed
  • Error and success messages should not contradict each other

Error Messages/Logs

Contradictory output is printed:

✘ Installation failed
Could not install - another process is currently installing Claude. Please try again in a moment.
Try running with --force to override checks
✅ Installation complete!


Using strace, the binary reads /home/user/.claude.json during install. Even when this file doesn't exist, the error persists.
The install.sh script downloads the binary successfully but the binary's internal install subcommand fails:

# From install.sh:
"$binary_path" install ${TARGET:+"$TARGET"}

The --force flag is documented (claude install --help) but does not bypass the phantom lock detection.

Steps to Reproduce

Complete cleanup:

rm -rf ~/.claude ~/.claude.json ~/.claude.json.backup
rm -rf ~/.local/share/claude* ~/.local/bin/claude

Run native installer:

curl -fsSL https://claude.ai/install.sh | bash

Observe failure with "another process" error followed by contradictory "Installation complete!"
Verify claude binary was not installed:

which claude  # Not found

Attempt with --force:

~/.claude/downloads/claude-2.0.64-linux-x64 install --force
Same error occurs.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.0.64

Platform

Anthropic API

Operating System

Other Linux

Terminal/Shell

Other

Additional Information

Platform: linux (CachyOS / Arch Linux)
Terminal: Alacritty (Hyprland/Wayland)
Claude Code version: 2.0.64 (attempting fresh install)
Architecture: x86_64

This may be related to #709 (claude-code-action) and #13085 (VS Code extension lock), but differs in that:

  • No prior installation exists
  • No VS Code extension is involved
  • No actual lock file can be found anywhere on the system
  • Occurs on fresh install, not update

View original on GitHub ↗

13 Comments

github-actions[bot] · 8 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/11884
  2. https://github.com/anthropics/claude-code/issues/12044
  3. https://github.com/anthropics/claude-code/issues/13085

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

PaulRBerg · 8 months ago

I am experiencing the same issue on macOS using the native installer:

❯ claude update
Current version: 2.0.64
Checking for updates...
Another process is currently updating Claude. Please try again in a moment.

And:

❯ curl -fsSL https://claude.ai/install.sh | bash
Setting up Claude Code...

✘ Installation failed

Could not install - another process is currently installing Claude. Please try again in a moment.
HypeSafety · 8 months ago

The native installer locks are at
rm -rf ~/.local/state/claude/locks/
if you want to get groovy

btoone · 8 months ago
The native installer locks are at rm -rf ~/.local/state/claude/locks/ if you want to get groovy

Removing the lock dir worked to enable claude upate to work again! Thanks for sharing where those were located.

Chris-Nend · 8 months ago

thanks ya guys

mertkaradayi · 8 months ago

having the same issue and removing the locks didn't helped

Stereo157E · 8 months ago
The native installer locks are at rm -rf ~/.local/state/claude/locks/ if you want to get groovy

I thought I removed everything. But the state folder was a gold mine! Now it is working for me as well. Thanks!
Maybe this could find its way into the official documentation?

having the same issue and removing the locks didn't helped

Did you try to remove everything, including the directories I mentioned in my bug post and do you have the npm package installed?
I won't mark this as closed, until your issue is resolved.

mertkaradayi · 8 months ago
> The native installer locks are at rm -rf ~/.local/state/claude/locks/ if you want to get groovy I thought I removed everything. But the state folder was a gold mine! Now it is working for me as well. Thanks! Maybe this could find its way into the official documentation? > having the same issue and removing the locks didn't helped Did you try to remove everything, including the directories I mentioned in my bug post and do you have the npm package installed? I won't mark this as closed, until your issue is resolved.

I was already using the native installer (curl -fsSL https://claude.ai/install.sh | bash).

I've tried the following troubleshooting steps:

  1. Removed lock files from ~/.local/state/claude/locks/
  2. Completely reinstalled using the native installer
  3. Ran claude update command
  4. Removed locks, executed claude, ran doctor, exited, then tried claude code

Unfortunately, none of these resolved the issue. Still experiencing the same problem.

Additional context:

  • Installation method: Native installer (not npm)
  • Already tried full reinstall
  • Lock file removal didn't help

UPDATE:
I think they fixed it, because it worked.
You can close.

llegomark · 8 months ago
The native installer locks are at rm -rf ~/.local/state/claude/locks/ if you want to get groovy

Thank you!!!

transon-top · 8 months ago

Thank you!!!

mrgoonie · 8 months ago
The native installer locks are at rm -rf ~/.local/state/claude/locks/ if you want to get groovy

Awesome! How did you find it?

lexuzieel · 8 months ago
The native installer locks are at rm -rf ~/.local/state/claude/locks/ if you want to get groovy

Removing the lock works, thank you!

However, the real question is: how do you pass --force to this curl ... | bash command? 🤔

github-actions[bot] · 8 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.