Skip to content

Search titles and text across the docs.

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

WhatWhere
Studio itself~/.kelrova/app, with kelrova linked into ~/.local/bin
A background serviceThe systemd user service kelrova, started now and on every boot
Automatic updatesKELROVA_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 SDKNode.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.

  1. Unpack and install

    Extract the archive and run ./install.sh inside it. It copies kelrova to ~/.local/bin.

  2. Sign in

    Run kelrova login and follow the link and code as above.

  3. Start the service

    Run kelrova daemon install to install and start the background service, or kelrova headless to 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.