Run on a remote Linux server changedclaude-science/run-on-remote-linux-server
Nearest release: v2.1.312, published 3 hours before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Upstream edited this page at 27 Oct 2026 21:58 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 27 Oct 2026 22:07 UTC.
Upstream edited
Recorded here
Lines+29added
Lines−10removed
From line
22
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits13to this page, all time
### Approve your own copy of bubblewrap or socat
The whole hunk
from line 22, old and new numbered
/
from line 22
2222
2323> [!NOTE]
2424>
25> The sandbox requires bubblewrap 0.8.0 or later; check with `bwrap --version`. Ubuntu 24.04 ships a new enough version, and Ubuntu 22.04 doesn't. If Claude Science can't set up the sandbox, it refuses to start rather than run code unsandboxed.
25> The sandbox requires bubblewrap 0.8.0 or later; check with `/usr/bin/bwrap --version`. Ubuntu 24.04 ships a new enough version, and Ubuntu 22.04 doesn't. If Claude Science can't set up the sandbox, it refuses to start rather than run code unsandboxed.
2626
2727## Run Claude Science without administrator access
2828
2929If you don't have administrator (root or `sudo`) access to a shared server or cluster, choose one of these:
3030
31* **Ask the server's administrator** to set up what the sandbox needs: bubblewrap 0.8.0 or later, socat, and a kernel that allows unprivileged user namespaces.
31* **Ask the server's administrator** to set up what the sandbox needs: bubblewrap 0.8.0 or later and socat, installed for the whole system (from the distribution's packages, or by root in `/usr/local/bin`), and a kernel that allows unprivileged user namespaces.
32* **Approve a copy of your own.** In version 0.1.71 and later, Claude Science can run bubblewrap and socat that you installed yourself, once you [approve them](#approve-your-own-copy-of-bubblewrap-or-socat).
3233* **Use the server as an SSH host.** Install Claude Science on your own computer and add the server as an SSH host (see [Remote compute clusters](https://claude.com/docs/claude-science/remote-compute-clusters.md)), if your organization allows SSH hosts. Claude runs jobs on the server under your own account, with your approval. Jobs run outside the sandbox, so the server doesn't need bubblewrap, socat, or the kernel setting, and you don't need administrator access there.
3334
34Administrators usually install bubblewrap and socat, and only an administrator can change the kernel setting. On Ubuntu 23.10 and later, bubblewrap can also need an AppArmor profile that lets it create user namespaces. Claude Science checks for these when it starts and names the first one that's missing. Once that's fixed, the next start names the next one, if any.
35Only an administrator can install bubblewrap and socat for the whole system or change the kernel setting. On Ubuntu 23.10 and later, bubblewrap can also need an AppArmor profile that lets it create user namespaces. Claude Science checks for these when it starts and names the first one that's missing. Once that's fixed, the next start names the next one, if any.
3536
3637Installing Claude Science itself doesn't need root or `sudo`. The installer puts the `claude-science` command in `~/.local/bin`, or in another folder you own if you export `CLAUDE_SCIENCE_INSTALL_DIR` with that folder's path before you run it.
3738
from line 43
4243* If the cluster's address sends you to one of several login nodes, connect the tunnel to the node where Claude Science is running. Running `hostname` on that node prints its name.
4344* Claude Science needs about 10 GB free in your home folder for its first launch, and more for each environment Claude creates, even if you keep your projects elsewhere.
4445
46### Approve your own copy of bubblewrap or socat
47
48In version 0.1.71 and later, Claude Science runs a copy of bubblewrap or socat that isn't in `/usr/bin`, `/usr/local/bin`, or `/bin` only after you approve it. That includes copies from conda, pixi, a cluster module, or your home folder. An approval can't get around user namespaces that the kernel or AppArmor blocks. Claude Science ignores approvals where your organization [manages the network allowlist](https://claude.com/docs/claude-science/admin-controls.md#network-allowlist), and inside a container or sandbox that remaps user accounts.
49
50An approved socat lets Claude Science start, but code that Claude runs has no network access until an administrator installs socat in a system folder. On a new install, Claude Science then can't set up its starter Python and R environments. It reports "Package downloads are being blocked by network policy" even when the network blocks nothing, and the package mirror it suggests won't help.
51
52To install both tools with conda and approve them on 0.1.71 and later, [install Claude Science](#install-claude-science), stop it with `claude-science stop` if it's running, and run these commands in a terminal:
53
54```bash theme={null}
55conda create -y --copy --override-channels -p ~/claude-science-tools -c conda-forge bubblewrap socat
56claude-science sandbox approve --bwrap ~/claude-science-tools/bin/bwrap --socat ~/claude-science-tools/bin/socat
57```
58
59Type `y` at "Approve? \[y/N]". When it prints "Approved bubblewrap" and "Approved socat", start Claude Science again. Claude Science runs a private copy of each program, so run the second command again whenever you update yours.
60
61On 0.1.70 and earlier, which have no `sandbox approve`, run only the first command, then the [install command](#install-claude-science). In the approval steps that it prints, give the two paths from the second command, then start Claude Science again.
62
63To approve copies you installed yourself, put the path of each program in the second command, not the path of a launcher. For example, after `pixi global install bubblewrap socat`, `command -v bwrap socat` shows launchers in `~/.pixi/bin`, and the programs are `~/.pixi/envs/bubblewrap/bin/bwrap` and `~/.pixi/envs/socat/bin/socat`. If the command says "not approved", see [not approved](https://claude.com/docs/claude-science/troubleshooting.md#not-approved).
64
4565## Install Claude Science
4666
4767```bash theme={null}
from line 109
89109
90110## Keep it up to date
91111
92`claude-science update` checks for and installs updates. See [Command line settings](https://claude.com/docs/claude-science/command-line-settings.md) for the command reference, including `logs` and the `serve` flags.
112`claude-science update` checks for and installs updates. If your bubblewrap or socat isn't in a system folder, see [Update Claude Science](https://claude.com/docs/claude-science/update-claude-science.md#from-a-terminal-or-on-a-server) first. See [Command line settings](https://claude.com/docs/claude-science/command-line-settings.md) for the command reference, including `logs` and the `serve` flags.
93113
94114## Troubleshooting
95115
from line 116
96116| Symptom | What it means |
97117| - | - |
98118| `command not found: claude-science` | `~/.local/bin` isn't on your PATH yet. Run `. ~/.profile` or open a new terminal. |
99| An error mentioning `bwrap was found on PATH at`, `is not where Claude Science runs it from`, `(PATH is not searched)`, or `is deliberately not used` | Version 0.1.61 prints these messages, because it needs bubblewrap and socat installed for the whole system. If you updated to it from inside the app, the "Update available" notice shows "restart aborted" instead. Version 0.1.62 withdraws that requirement. On the server, run `claude-science update`, then start Claude Science again. |
100| An error mentioning `bwrap not found on PATH` | bubblewrap isn't installed, or isn't on your PATH. Install it as shown in [Install dependencies](#install-dependencies), or ask the server's administrator. |
101| An error mentioning `socat is required` | socat isn't installed, or isn't on your PATH. Install it as shown in [Install dependencies](#install-dependencies), or ask the server's administrator. |
102| A line starting `[sandbox]` that says `no usable socat command was found on this computer`, in the terminal where `claude-science serve` runs or in its log (`claude-science logs`) | Claude Science started, but the sandbox has no network access. The sandbox runs socat only from system folders such as `/usr/bin`, and doesn't use a copy from conda, Homebrew, or a folder in your home directory. Code that Claude runs can't reach the internet, and environment setup can fail with `Package downloads are being blocked by network policy` even when the network blocks nothing. Install socat as shown in [Install dependencies](#install-dependencies), or ask the server's administrator to install it for the whole system. |
103| An error mentioning `bwrap too old` | The server's bubblewrap is older than 0.8.0. Upgrade it, or use a distribution that ships a newer version, such as Ubuntu 24.04 or later. |
119| An error mentioning `bwrap not found in` or `bwrap was found on PATH at` | bubblewrap isn't installed in a system folder. In version 0.1.71 and later, Claude Science doesn't search your PATH, so it doesn't use a copy from conda, pixi, a cluster module, or your home folder until you approve it. Install it as shown in [Install dependencies](#install-dependencies), ask the server's administrator, or [approve a copy of your own](#approve-your-own-copy-of-bubblewrap-or-socat). If this happened after you typed `claude-science update`, you can [go back to version 0.1.70](https://claude.com/docs/claude-science/troubleshooting.md#not-approved). |
120| An error mentioning `socat is required` | socat isn't installed in a system folder, and Claude Science doesn't use a copy that's only elsewhere on your PATH. Install it as shown in [Install dependencies](#install-dependencies), or ask the server's administrator. If you can't do either, you can [approve a copy of your own](#approve-your-own-copy-of-bubblewrap-or-socat) so that Claude Science starts. Until socat is in a system folder, environment setup fails with `Package downloads are being blocked by network policy`, because code that Claude runs has no network access. If this happened after you typed `claude-science update`, you can [go back to version 0.1.70](https://claude.com/docs/claude-science/troubleshooting.md#not-approved). |
121| A line starting `[sandbox]` that says `sandboxed commands run without network access`, in the terminal where `claude-science serve` runs or in its log (`claude-science logs`) | Claude Science started, but the sandbox has no network access. The sandbox runs socat only from system folders such as `/usr/bin`, and doesn't use a copy from conda, pixi, a cluster module, or your home folder, including a copy that you approved. Code that Claude runs can't reach the internet, and environment setup fails with `Package downloads are being blocked by network policy` even when the network blocks nothing. Install socat as shown in [Install dependencies](#install-dependencies), or ask the server's administrator to install it for the whole system. |
122| An error mentioning `too old` | The copy of bubblewrap that the message names is older than 0.8.0. Upgrade it, or use a distribution that ships a newer version, such as Ubuntu 24.04 or later. If you can't upgrade it, [approve a newer copy of your own](#approve-your-own-copy-of-bubblewrap-or-socat). |
104123| An error mentioning `cannot create unprivileged user namespaces` | The kernel or an AppArmor profile blocks the sandbox from creating user namespaces; some Ubuntu 24.04 images restrict this. The error message names the settings to check on Ubuntu, Debian, and other distributions. |
105124| An error mentioning `port 8765 is already in use by another app` | Another program is using the port you chose with `--port`. Quit that program, or choose a different port. After you start Claude Science, `claude-science url` prints both ports to forward. |
106125| An error mentioning `port 8765 is already in use by another Claude Science daemon` | Another copy of Claude Science, probably one using a different data folder, holds the port. Run `claude-science stop` where that copy was started, or choose a different port. |
from line 130
111130| Interactive HTML previews render as static snapshots after a short delay (charts don't respond) | The tunnel isn't forwarding the preview port. Add the second `-L` forward for the preview port that `claude-science url` prints (8001 by default), with that number on both sides. |
112131| The browser can't reach `localhost:8000` | The tunnel isn't up; rerun the `ssh -L` command. If the tunnel is up, confirm Claude Science is running on the server with `claude-science status`. |
113132| The installer reports no binary for your platform | Claude Science on Linux needs x64 with glibc. arm64 servers and musl-based distributions such as Alpine aren't supported. |
114| The installer stops with a message mentioning `was NOT installed` | Claude Science was already installed on the server, so the installer first tried to check that the new version starts there. The check didn't succeed, so nothing was replaced. The message and the lines under it say why and, where there is a fix, what to do. If they point to the [configuration file](https://claude.com/docs/claude-science/configuration-file-reference.md), `~/.claude-science/config.toml`, fix what they report in that file, then run the installer again as shown in [Install Claude Science](#install-claude-science). Otherwise, keep using the copy you already had. |
133| The installer stops with a message mentioning `was NOT installed` | Claude Science was already installed on the server, so the installer first tried to check that the new version starts there. The check didn't succeed, so nothing was replaced. The message and the lines under it say why and, where there is a fix, what to do. If they point to the [configuration file](https://claude.com/docs/claude-science/configuration-file-reference.md), `~/.claude-science/config.toml`, fix what they report in that file, then run the installer again as shown in [Install Claude Science](#install-claude-science). If they give no fix, keep using the copy you already had. |
115134
No line in this hunk matches that.