# Claude Code on a Raspberry Pi: what works

> Claude Code runs on a Raspberry Pi 4 or 5 with 4 GB of RAM or more and the 64-bit Raspberry Pi OS. Which boards qualify, the 32-bit trap, and the setup.

Source: https://shuriken.sh/guides/claude-code-raspberry-pi

Claude Code runs on a Raspberry Pi 4 or Pi 5 with 4 GB of RAM or more, on the 64-bit Raspberry Pi OS: Anthropic builds it for ARM64 Linux and asks for 4 GB of RAM. A Pi 3, any Pi Zero and any 32-bit system fall short.

By Shuriken Updated 27 October 2026 8 min read

**Contents**

Claude Code runs on a Raspberry Pi 4 or Pi 5 with 4 GB of RAM or more, as long as the card holds the 64-bit Raspberry Pi OS. Anthropic builds Claude Code for ARM64 Linux and asks for 4 GB of RAM, so a Pi 3, any Pi Zero and any 32-bit system fall short. The install is the same one-liner as on any Linux machine.

The facts here come from Anthropic's [setup page](https://code.claude.com/docs/en/setup) and troubleshooting pages, Raspberry Pi's documentation and product pages, and Tailscale's docs, all read on 24 October 2026. Where we lean on GitHub reports from Pi owners instead, we say so.

## Which Raspberry Pi models can run Claude Code? #

Anthropic's requirements are 4 GB of RAM or more and an x64 or ARM64 processor, on Ubuntu 20.04+, Debian 10+ or Alpine 3.19+ (macOS and Windows aside). Mapped onto the boards Raspberry Pi sells:

| Board | Processor | RAM options | Claude Code |
| --- | --- | --- | --- |
| Raspberry Pi 5 | 64-bit Cortex-A76, 4 cores, 2.4 GHz | 1, 2, 4, 8 or 16 GB | Yes on 4 GB and up |
| Raspberry Pi 4 Model B | 64-bit Cortex-A72, 4 cores, 1.8 GHz | 1, 2, 3, 4 or 8 GB | Yes on 4 GB and 8 GB |
| Raspberry Pi 3 Model B+ | 64-bit Cortex-A53, 4 cores, 1.4 GHz | 1 GB | No: too little memory |
| Raspberry Pi Zero 2 W | 64-bit Cortex-A53, 4 cores, 1 GHz | 512 MB | No: too little memory |
| Raspberry Pi Zero, Zero W | 32-bit, single core | 512 MB | No: no build for the CPU |

Raspberry Pi OS isn't on Anthropic's list by name. The current release is based on Debian Trixie (Debian 13), which the "Debian 10+" line covers, and Pi owners have filed GitHub issues while running the CLI on it: one on a [Pi 5 with Debian 13, 64-bit](https://github.com/anthropics/claude-code/issues/89870), who wrote that the standalone CLI "works fine", and one on a [Pi 4 with Raspberry Pi OS Lite (64-bit)](https://github.com/anthropics/claude-code/issues/74296). Ubuntu Server for the Pi is also an option, and Ubuntu is named.

The 4 GB floor is for Claude Code alone. Your agent will also run npm install, builds and test suites on the same board, so an 8 GB Pi 5 gives those room that a 4 GB one doesn't.

## Check that you're on 64-bit Raspberry Pi OS #

The usual check gives the wrong answer here. The Raspberry Pi docs say a Pi 4 boots a 64-bit kernel by default (arm_64bit defaults to 1 there), and a Pi 5 only has a 64-bit kernel. So on the 32-bit Raspberry Pi OS, uname -m still prints aarch64. Anthropic's installer reads uname -m, sees aarch64 and downloads the ARM64 build, which the 32-bit system around that kernel can't run.

Ask the system instead of the kernel:

bash
dpkg --print-architecture

arm64 means you're set. armhf means a 32-bit system: back up what you need and flash the card again. In Raspberry Pi Imager, pick Raspberry Pi OS Lite (64-bit) for a board that will sit without a screen, then use its customisation step to set the hostname, your user and password, the Wi-Fi network, and Enable SSH (public-key login if you have a key). You can then reach the Pi at <hostname>.local without ever plugging in a monitor.

On an original Zero or Zero W the installer doesn't get that far: uname -m prints armv6l, and the script stops with Unsupported architecture.

## Install Claude Code on Raspberry Pi OS #

Over SSH, run the native installer, the method Anthropic recommends:

- curl -fsSL https://claude.ai/install.sh | bash. It prints nothing while it downloads, so give it a minute.
- Log out and back in, or open a new SSH session, so ~/.local/bin is on your PATH.
- claude --version should print a version number.
- claude doctor checks the install and your settings without starting a session.

If you'd rather update Claude Code with sudo apt upgrade along with the rest of the Pi, add Anthropic's signed apt repository instead: sudo apt install claude-code works only after you've added the key and the repository. The exact commands, the key fingerprint to check, and how the two methods differ on updates are in [installing Claude Code on Linux](https://shuriken.sh/guides/install-claude-code-on-linux).

On a board with too little free memory, the install can die with Installation was killed before it could finish (exit code 137). Anthropic says installing needs roughly 512 MB free and suggests a 2 GB swap file (sudo fallocate -l 2G /swapfile, then chmod 600, mkswap and swapon on it). Swap gets the install through, but a 2 GB Pi is still under the 4 GB Claude Code asks for to run.

## Sign in to Claude Code on a headless Pi #

Run claude (or claude auth login) over SSH. The browser can't open on the Pi, so copy the link it prints into the browser on your own computer, or press c to copy it. After you approve, the browser shows a code instead of redirecting; paste it at Paste code here if prompted. If pasting into that prompt does nothing, claude auth login reads the code from standard input.

Two owners of headless Pis reported this flow failing, with ["Invalid code"](https://github.com/anthropics/claude-code/issues/47703) and with ["Unknown scope: u"](https://github.com/anthropics/claude-code/issues/74296) in the browser. Both issues were closed for inactivity without a fix being named. If it keeps failing, run claude setup-token on a computer that has a browser: it prints a one-year token for your subscription, which you set on the Pi as CLAUDE_CODE_OAUTH_TOKEN. Anthropic notes the token "can only make model requests", so Remote Control won't start with it.

Shuriken adds a server of yours with one command, and its chats sit beside your computer's.

[Download](https://shuriken.sh/download)

## Keep Claude Code running on the Pi with tmux #

A session started in a plain SSH window ends when the window does. Start it inside tmux:

bash
sudo apt install tmux
tmux new -s claude # then run claude inside it
# Ctrl-b d detaches; Claude keeps working
tmux attach -t claude # pick it up again later

tmux doesn't survive a reboot or a pulled plug. After one, claude --continue in the same project folder reopens the most recent conversation. Git keys on the Pi and reaching its dev server from your laptop work as on any SSH box: both are in [running Claude Code over SSH](https://shuriken.sh/guides/claude-code-over-ssh).

## Memory, heat and the SD card #

Claude Code shows a critical memory warning when a session's heap passes 2.5 GB. Anthropic's fix is to restart Claude Code and run claude --continue. On a 4 GB Pi that heap is most of the board, so watch free -h when a long session feels slow.

The Pi throttles itself when it's hot. Raspberry Pi's documentation says the Arm cores are progressively throttled between 80°C and 85°C, and at 85°C the GPU is throttled too. Long builds and test runs are the kind of steady load that gets it there. Raspberry Pi says a Pi 5 performs best with active cooling, such as its case with the built-in fan, and suggests the Active Cooler for a bare board under heavy load. vcgencmd measure_temp shows the current temperature.

An SD card is slow storage, and its endurance is limited. Agents write a lot: Claude Code saves every session's transcript under ~/.claude/projects, and each npm install or build writes thousands of files. Raspberry Pi recommends a card of at least 8 GB for Raspberry Pi OS Lite; we'd keep repositories on an SSD instead, on USB or, on a Pi 5, through an M.2 HAT, which the Pi 5 can also boot from.

The Pi 5 has one more quirk. Its default kernel uses 16 KB memory pages, and a [2025 report](https://github.com/anthropics/claude-code/issues/9462) found Claude Code's bundled ripgrep failing on it with Unsupported system page size, so custom slash commands never loaded. If search, @ file mentions or your custom skills find nothing on a Pi 5, use Anthropic's fix for a bundled ripgrep that won't run: sudo apt install ripgrep, then set USE_BUILTIN_RIPGREP to 0 in the env block of ~/.claude/settings.json. claude doctor then shows your system ripgrep on its Search line.

## Reach your Raspberry Pi from anywhere with Tailscale #

A Pi on your home network is easy to reach from the sofa and harder from a train. A private network such as Tailscale is the usual answer, because it opens no port on your router:

- On the Pi: curl -fsSL https://tailscale.com/install.sh | sh (Tailscale lists Raspberry Pi OS as supported), then sudo tailscale up and open the link it prints.
- Optional: sudo tailscale set --ssh lets Tailscale handle SSH to the Pi with your Tailscale sign-in, no keys to copy around.
- In the Tailscale admin console, turn off key expiry for the Pi. Tailscale's Linux page suggests this for devices that stay connected, Raspberry Pis included, and warns that it lowers security, so keep it to devices you trust.
- Install Tailscale on your laptop and phone, then ssh you@<hostname> and tmux attach -t claude.

The other route is Anthropic's Remote Control. Run claude remote-control inside tmux on the Pi, and the session shows up in the Claude app and at claude.ai/code. It needs a Pro, Max, Team or Enterprise sign-in (not an API key or a setup-token token), the claude process has to stay running, and in server mode it exits after roughly 10 minutes without a network. When it won't connect, [Remote Control not working](https://shuriken.sh/guides/claude-code-remote-control-not-working) lists the error messages and their fixes.

## How Shuriken runs on a Raspberry Pi #

Shuriken is our harness for Claude Code, Codex and other coding agents. Its Linux builds include Arm ones, an AppImage and a .deb, but a Pi with no screen is a better fit for the server route: in the app, open Settings › Devices › Add device › A server, pick Linux, and run the command it gives you over SSH on the Pi. The command is made for your account and stays valid for an hour.

The installer accepts x64 and arm64 and stops on anything else, so put the 64-bit Raspberry Pi OS on the card first. It installs Git, the GitHub CLI, ripgrep, Claude Code and Codex, plus other agent CLIs. For Claude Code it first tries Anthropic's native release, in the build for the Pi's CPU and libc, and checks it against the checksum in Anthropic's release manifest. The installer reports success only when Git, the GitHub CLI, Claude Code and Codex all run. After that the Pi runs Shuriken as a systemd service, never as root: it starts on boot, restarts if it fails, and updates itself only to releases our key signed, waiting until no agent is mid-turn.

Three of the steps above drop away. You don't sign in to Claude on the Pi, because the sources you've added (your accounts and keys) reach it end-to-end encrypted from the app. You don't need tmux, because the service keeps chats running with nobody logged in. And Shuriken itself needs no Tailscale or open port: the server listens only on the Pi itself, and the app reaches it through our relay. You start a chat on the Pi from your computer, your phone's web app or any browser, or send a running chat there with [run it somewhere else](https://shuriken.sh/blog/run-chat-on-another-computer). The heat, memory and SD-card advice still applies. On the Free plan the Pi is one of your two linked devices; Pro has no device limit. A machine that never sleeps is covered more generally in [running Claude Code on an always-on machine](https://shuriken.sh/guides/claude-code-on-an-always-on-machine), and the Pi's version starts with [downloading Shuriken](https://shuriken.sh/download).

Share

[X](https://x.com/intent/post?url=https%3A%2F%2Fshuriken.sh%2Fguides%2Fclaude-code-raspberry-pi&text=Claude%20Code%20on%20a%20Raspberry%20Pi%3A%20what%20works)[LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fshuriken.sh%2Fguides%2Fclaude-code-raspberry-pi)[Hacker News](https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fshuriken.sh%2Fguides%2Fclaude-code-raspberry-pi&t=Claude%20Code%20on%20a%20Raspberry%20Pi%3A%20what%20works)[Reddit](https://www.reddit.com/submit?url=https%3A%2F%2Fshuriken.sh%2Fguides%2Fclaude-code-raspberry-pi&title=Claude%20Code%20on%20a%20Raspberry%20Pi%3A%20what%20works)[E-mail](mailto:?subject=Claude%20Code%20on%20a%20Raspberry%20Pi%3A%20what%20works&body=https%3A%2F%2Fshuriken.sh%2Fguides%2Fclaude-code-raspberry-pi)

## Sources

- [Advanced setup: system requirements, Linux package managers (Claude Code docs)](https://code.claude.com/docs/en/setup) (accessed 24 October 2026)
- [Troubleshoot installation and login (Claude Code docs)](https://code.claude.com/docs/en/troubleshoot-install) (accessed 24 October 2026)
- [Troubleshooting: performance and search (Claude Code docs)](https://code.claude.com/docs/en/troubleshooting) (accessed 24 October 2026)
- [Authentication: long-lived tokens (Claude Code docs)](https://code.claude.com/docs/en/authentication) (accessed 24 October 2026)
- [Remote Control (Claude Code docs)](https://code.claude.com/docs/en/remote-control) (accessed 24 October 2026)
- [Raspberry Pi OS (Raspberry Pi documentation)](https://www.raspberrypi.com/documentation/computers/os.html) (accessed 24 October 2026)
- [config.txt: kernel and arm_64bit (Raspberry Pi documentation)](https://www.raspberrypi.com/documentation/computers/config_txt.html) (accessed 24 October 2026)
- [Raspberry Pi hardware: thermal control (Raspberry Pi documentation)](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html) (accessed 24 October 2026)
- [Getting started: Raspberry Pi Imager (Raspberry Pi documentation)](https://www.raspberrypi.com/documentation/computers/getting-started.html) (accessed 24 October 2026)
- [Raspberry Pi 5 product page](https://www.raspberrypi.com/products/raspberry-pi-5/) (accessed 24 October 2026)
- [Raspberry Pi 4 Model B product page](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/) (accessed 24 October 2026)
- [Raspberry Pi 3 Model B+ product page](https://www.raspberrypi.com/products/raspberry-pi-3-model-b-plus/) (accessed 24 October 2026)
- [Raspberry Pi Zero 2 W product page](https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/) (accessed 24 October 2026)
- [Tailscale docs: Install Tailscale on Linux](https://tailscale.com/docs/install/linux) (accessed 24 October 2026)
- [Tailscale docs: Tailscale SSH](https://tailscale.com/docs/features/tailscale-ssh) (accessed 24 October 2026)
- [Issue #89870: Claude Desktop Code tab on a Raspberry Pi 5 (standalone CLI reported working)](https://github.com/anthropics/claude-code/issues/89870) (accessed 24 October 2026)
- [Issue #74296: OAuth login fails on a Raspberry Pi 4 over SSH](https://github.com/anthropics/claude-code/issues/74296) (accessed 24 October 2026)
- [Issue #47703: OAuth token exchange fails on a Raspberry Pi](https://github.com/anthropics/claude-code/issues/47703) (accessed 24 October 2026)
- [Issue #9462: Bundled ripgrep fails on Raspberry Pi 5 (16 KB pages)](https://github.com/anthropics/claude-code/issues/9462) (accessed 24 October 2026)

## Frequently asked questions

**Can Claude Code run on a Raspberry Pi 5?**

Yes, on the 4, 8 or 16 GB models with the 64-bit Raspberry Pi OS. The 1 and 2 GB models are below Anthropic's 4 GB minimum. A Pi 5 owner on GitHub reported the CLI working on Debian 13, 64-bit.

**Does Claude Code work on a Raspberry Pi 4?**

The 4 GB and 8 GB Pi 4 Model B meet Anthropic's requirements once the 64-bit Raspberry Pi OS is on the card. The 1, 2 and 3 GB models don't.

**Does Claude Code run on 32-bit Raspberry Pi OS?**

No. Anthropic publishes Linux builds for x64 and ARM64 only. On a Pi 4 or 5 the 32-bit system still boots a 64-bit kernel, so check with dpkg --print-architecture: it has to print arm64.

**Can I run Claude Code on a Raspberry Pi Zero 2 W?**

Its processor is 64-bit, but it has 512 MB of RAM, an eighth of Anthropic's 4 GB minimum and about what installing alone needs free. The original Zero and Zero W are 32-bit, and the installer refuses them.

**Do I need a monitor to set up Claude Code on a Pi?**

No. Raspberry Pi Imager can set the hostname, user, Wi-Fi and SSH before first boot, and Claude Code's sign-in works over SSH: you open the link on your own computer and paste the code it shows back into the terminal.

Servers

Your agents on your own servers.

Add a Linux, macOS or Windows server from the app with one command. It runs as a service and updates itself.

[Download](https://shuriken.sh/download)

[Other platforms](https://shuriken.sh/download#main)

## Keep reading

- [Claude Code on a VPS: sizing, setup and staying safe: Guide 27 Oct 2026 7 min read Claude Code runs on a VPS with 4 GB of RAM, an x64 or ARM64 CPU and Ubuntu 20.04+ or Debian 10+, used from a supported country. How to size and secure it.](https://shuriken.sh/guides/claude-code-on-a-vps)
- [Run multiple Claude Code sessions in tmux: Guide 27 Oct 2026 3 min read Run several Claude Code sessions side by side in tmux, each in its own git worktree, and keep them running after you close the terminal. Commands included.](https://shuriken.sh/guides/claude-code-tmux-multiple-sessions)
- [How to run Claude Code from your phone (2026): Guide 27 Oct 2026 6 min read Four ways to drive Claude Code from a phone: Anthropic's Remote Control, the Happy app, SSH with tmux, or a harness. What each needs and what it can't do.](https://shuriken.sh/guides/run-claude-code-from-your-phone)
- [How to install Shuriken on Mac, Windows and Linux: Guide 27 Oct 2026 3 min read Install Shuriken from shuriken.sh on Mac, Windows or Linux. The Mac app is notarised by Apple; Windows may warn once, as its installer isn't signed yet.](https://shuriken.sh/guides/install-shuriken)
- [Claude Code in a dev container: setup, firewall and auth: Guide 27 Oct 2026 5 min read Claude Code in a devcontainer is one feature line. A named volume and one env variable keep your sign-in through rebuilds; skipping prompts stays unsafe.](https://shuriken.sh/guides/claude-code-devcontainer)
- [Claude Code in GitHub Codespaces: setup and sign-in: Guide 27 Oct 2026 7 min read Claude Code runs in GitHub Codespaces through Anthropic's dev container feature, and a personal Codespaces secret keeps each new codespace signed in.](https://shuriken.sh/guides/claude-code-github-codespaces)
- [Claude Code teleport: pull cloud sessions to your terminal: Guide 27 Oct 2026 6 min read claude --teleport pulls a Claude Code cloud session and its branch into your terminal. It needs a clean tree, the same repo and the same claude.ai account.](https://shuriken.sh/guides/claude-code-teleport-cloud-sessions)
- [Claude Code with VS Code Remote-SSH, WSL and containers: Guide 27 Oct 2026 8 min read In a VS Code Remote-SSH, WSL or dev container window, the Claude Code extension runs remotely: sign-in, ~/.claude, MCP servers and the CLI live there.](https://shuriken.sh/guides/claude-code-vscode-remote-ssh)

## Free tools

- [Claude limit reset tracker](https://shuriken.sh/tools/limit-resets/claude)
- [Codex limit reset tracker](https://shuriken.sh/tools/limit-resets/codex)
