claude-code icon indicating copy to clipboard operation
claude-code copied to clipboard

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

Open Stereo157E opened this issue 1 month ago • 4 comments

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

Stereo157E avatar Dec 10 '25 21:12 Stereo157E

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

github-actions[bot] avatar Dec 10 '25 21:12 github-actions[bot]

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.

PaulRBerg avatar Dec 11 '25 14:12 PaulRBerg

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

HypeSafety avatar Dec 11 '25 14:12 HypeSafety

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.

btoone avatar Dec 11 '25 18:12 btoone

thanks ya guys

Chris-Nend avatar Dec 12 '25 05:12 Chris-Nend

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

mertkaradayi avatar Dec 12 '25 10:12 mertkaradayi

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.

Stereo157E avatar Dec 12 '25 21:12 Stereo157E

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.

mertkaradayi avatar Dec 12 '25 21:12 mertkaradayi

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

Thank you!!!

llegomark avatar Dec 14 '25 01:12 llegomark

Thank you!!!

TransonQ avatar Dec 15 '25 10:12 TransonQ

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

Awesome! How did you find it?

mrgoonie avatar Dec 17 '25 03:12 mrgoonie

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? 🤔

lexuzieel avatar Dec 18 '25 16:12 lexuzieel