Je installeert Claude Code op een DirectAdmin-server, het werkt voor de admin, maar een gewone gebruiker krijgt:
[klant@server ~]$ claude
bash: claude: command not found
Dit artikel is voor serverbeheerders. We liepen er zelf tegenaan op onze eigen hostingserver.
De oorzaak: de jail ziet je installatie niet
DirectAdmin kan gebruikers in een jailshell zetten (jail=ON in de gebruikersinstellingen). Die jail is gebouwd op bwrap en laat de gebruiker maar een klein deel van het systeem zien:
/usr(alleen lezen)- de eigen home-map
- een paar losse bestanden uit
/etc(zoalsresolv.confen/etc/profile.d)
/opt, /root en andere home-mappen bestaan in de jail niet. Stond Claude in /opt/claude met een symlink in /usr/local/bin, dan wijst die link in de jail naar niets. Vandaar "command not found", terwijl ls /usr/local/bin/claude als root prima werkt.
De oplossing: installeer onder /usr
Zet de Claude-binary zelf onder /usr, bijvoorbeeld:
install -d -m 755 /usr/local/lib/claude/versions
install -m 755 /pad/naar/claude-binary /usr/local/lib/claude/versions/2.1.198
ln -sfn /usr/local/lib/claude/versions/2.1.198 /usr/local/bin/claude
Controleer het als de gebruiker, via de jail:
su - klant -c "which claude; claude --version"
Updates: centraal, niet per gebruiker
Gebruikers kunnen niet schrijven in /usr, dus de ingebouwde auto-updater werkt daar niet. Zet hem uit via een bestand in /etc/profile.d (dat is wél zichtbaar in de jail):
echo 'export DISABLE_AUTOUPDATER=1' > /etc/profile.d/claude.sh
Updaten doe je als root: nieuwe versie in versions/ zetten en de symlink omzetten.
"claude command at ~/.local/bin/claude missing or broken"
Die waarschuwing zie je bij de eerste start van een gebruiker. Claude Code verwacht zijn eigen kopie in ~/.local/bin. Het is onschuldig: Claude start gewoon vanuit /usr/local/bin. Wel installeert Claude daarna vaak een eigen kopie in de home-map van de gebruiker, die vóór /usr/local/bin in het PATH staat en zichzelf bijwerkt.
Houd daar rekening mee:
- Die kopie is ruim 200 MB per gebruiker en telt mee in de schijfquota.
- Hij komt mee in backups van de home-map. Sluit
.local/share/claudeuit als je dat niet wilt.
Samengevat
| Probleem | Oplossing |
|---|---|
command not found in jailshell |
binary onder /usr/local/lib, niet /opt |
| auto-updater faalt | DISABLE_AUTOUPDATER=1 in /etc/profile.d |
| grote kopie per gebruiker | accepteren of uitsluiten in backups |