Use case

Run Claude Code on your own servers

Connect a server you own, whether a VM, a Raspberry Pi or a spare computer, and it becomes a machine you can chat with from anywhere. Each chat is a Claude Code session running on that server. The server does the work, and you approve the commands.

How it works

  1. Step 1

    Install the agent

    On a Linux server with Node.js 20 or newer, git and systemd, run the install command from Machines. It comes with your hub address and token filled in. The agent connects out to Escanor, so you open no inbound ports.

    Connect a VM
  2. Step 2

    Open a chat

    Each chat is its own Claude Code session on that server, with a working directory and history. Start new chats, search them and come back later. Attach photos and text or code files.

    Machines
  3. Step 3

    Pick how much it may do

    Set the permission mode per chat: default, auto, accept edits, plan, don’t ask or bypass. Choose the model and reasoning effort too. Changes apply immediately, even mid-session.

    Machine session modes
  4. Step 4

    Approve from your phone

    Claude Code asks before it runs a command or edits a file, and each request appears as an Allow or Deny card in the chat or on your phone. Read-only operations go straight through.

    Android app

What you can do with it

Fix a failing build
Ask the session to reproduce the failure on the server where it runs, propose a fix and wait for your approval.
Check on a server
Ask about services, logs or disk usage while you are away from your desk.
Work on several projects
Keep one chat per project and pick each one up where you left off.
Share a server across accounts
If a server has more than one Claude account set up, its chats are grouped by account.

Check the connection

The installer creates a remote-harness-agent systemd service. Once it is active, the machine shows as online in the app. Start with a read, such as asking the session to explain a README, before you ask for edits.

systemctl status remote-harness-agent
journalctl -u remote-harness-agent -n 80 --no-pager

Your server, your credentials

  • Claude Code uses the account you log in with on the server, or your own Anthropic API key. That account’s limits apply.
  • The agent’s configuration stays in an owner-only file on the server. Run it under an unprivileged account and give it only the projects you want sessions to see.
  • Machines authenticate with a hub token. Rotate it from Machines if it leaks.
  • Disconnect a machine to remove it from your list, and stop the service on the server to remove the agent.

Machines and computers

Machines are servers you own running the agent. Computers are your own laptops and desktops running Escanor Desktop, paired to your phone with a short code. See Computers and pairing.