- Docs
- Studio
- Get started
- Install on Linux
Install on Linux
One command installs Studio on a Linux server as a background service, with the Codex, Claude Code, Devin and Cursor runtimes. You drive it from the Mac app.
Where in StudioStudio → Settings → Devices & security → Connect a server
Updated View as markdown
On Linux, Studio runs without a window: it is the engine that hosts your projects and runs agents, and you work on it from Studio on your Mac as a remote device. Install it with one command over SSH. It runs on x86_64 and ARM64.
curl -fsSL https://studio.kelrova.com/install.sh | sh
The command needs no root. Re-running it upgrades in place and keeps your data.
Tip: Starting from the Mac
Studio on your Mac hands you the same command with sign-in included: open Settings → Devices & security and choose Connect a server. Add a server walks through that dialog.
Sign in during the install
Add --login to sign the server in to your Kelrova account as part of the install, so it comes up synced and appears in the Mac app:
curl -fsSL https://studio.kelrova.com/install.sh | sh -s -- --login
The installer prints a link. Open it in a browser anywhere, log in, and the page shows a code under Almost there. Paste the code into the terminal and press Enter. The code expires after a few minutes and only works on the server that asked for it. Sign-in needs an interactive terminal; over SSH, connect with ssh -t.
Without --login, the server runs local-only. Sign it in later by running the --login command again.
What the installer sets up
| What | Where |
|---|---|
| Studio itself | ~/.kelrova/app, with kelrova linked into ~/.local/bin |
| A background service | The systemd user service kelrova, started now and on every boot |
| Automatic updates | KELROVA_AUTO_UPDATE=1 in ~/.kelrova/env |
| Codex CLI | ~/.local/bin/codex, unless a codex is already installed |
| Claude Code CLI | ~/.local/bin/claude, unless a claude is already installed |
| Devin CLI | ~/.local/bin/devin, unless a devin is already installed |
| Node.js and the Cursor SDK | Node.js in ~/.local/bin when no recent one is present, and the SDK under ~/.kelrova |
The Studio download and the Codex, Claude Code and Devin CLIs are checked against checksums pinned in the installer before anything is unpacked, and a mismatch stops that download. A failed agent download prints the command to install it yourself and does not fail the install.
The installer also adds ~/.local/bin to PATH in your shell startup files. Open a new SSH session to pick it up. Set KELROVA_NO_MODIFY_PATH=1 to leave those files alone.
The agents still need their accounts. You connect them from the Mac, under Settings → Agents with the server selected; see Connect your agents.
The browser tools
Studio's browser tools need Google Chrome or Chromium on the server. The installer records one it finds. To install Google Chrome when none is present, add --with-chrome:
curl -fsSL https://studio.kelrova.com/install.sh | sh -s -- --with-chrome
This uses apt-get and works on x86_64 only; on ARM64, install Chromium yourself and run the installer again. You can combine it with --login.
Check the service
systemctl --user status kelrova
journalctl --user -u kelrova
If the server has no systemd user session, the installer says so; run kelrova headless yourself instead. If you switched to root with sudo su, log in as a regular user and install again.
Install from the tarball
The Linux downloads on Studio are the same build as a .tar.gz: kelrova-<version>-linux-x86_64.tar.gz or kelrova-<version>-linux-aarch64.tar.gz. Use them when you cannot pipe a script into sh.
Unpack and install
Extract the archive and run
./install.shinside it. It copieskelrovato~/.local/bin.Sign in
Run
kelrova loginand follow the link and code as above.Start the service
Run
kelrova daemon installto install and start the background service, orkelrova headlessto run it in the foreground.
The tarball does not install the agent CLIs or turn on automatic updates. The one-line installer does both.
Next
Add a server shows the server in the Mac app, and Server requirements lists what the server needs.