An Unraid plugin that makes Claude Code — Anthropic's AI coding assistant — persistent on your server. No more reinstalling after every reboot.
Unraid runs from RAM. Anything you install via SSH (including Claude Code) disappears on reboot. This plugin solves that by:
- Caching the Claude binary on your array
- Symlinking auth tokens and config to your appdata directory
- Automatically restoring everything on boot via an rc.d startup script
Install the plugin:
plugin install https://raw.githubusercontent.com/mfbergmann/unraid-claude-code/main/claude-code.plgOpen the Unraid terminal and run:
claudeAuthenticate once. It sticks across reboots.
| Item | Location | Purpose |
|---|---|---|
| Claude binary | $APPDATA_PATH/bin/claude |
Restored from cache on boot (no download needed) |
~/.claude/ |
Symlinked to appdata | Auth tokens, session data |
~/.claude.json |
Symlinked to appdata | User settings and preferences |
The appdata path is auto-detected from your Docker config, or you can set it manually via Settings > Utilities > Claude Code.
- Unraid 6.12.0+
- Array started (for appdata persistence)
- Internet connection (first install only)
The plugin adds a settings page at Settings > Utilities > Claude Code where you can:
- View installation status, persistence state, and auth status
- Configure the appdata storage path
- Reinstall or update Claude Code
- View the install log
Check the install log:
cat /var/log/claude-code-install.logRe-run the installer manually:
/usr/local/emhttp/plugins/claude-code/scripts/install.shClaude not found after boot? The rc.d script runs in the background — it may take a minute to restore the binary while waiting for the array and network. Check the log to see progress.
# Serve the plugin from your dev machine
python3 -m http.server 8080
# On the Unraid terminal
plugin install http://YOUR_DEV_IP:8080/claude-code.plg
# Reinstall after changes
plugin remove claude-code.plg && plugin install http://YOUR_DEV_IP:8080/claude-code.plgDate-based (YYYY.MM.DD) per Unraid plugin conventions:
bump-my-version replace --new-version 2026.04.04
git push && git push --tagsMIT