# Keep Claude Code working on your own machine

Claude Code can keep working on your own machine while you're away: on its own desk, a full desktop on your server or
computer, with your model account. You give it tasks in chat from any browser, your phone included, and watch its
screen when you want to. No SSH session or terminal multiplexer to keep alive.

What you'll have: an agent running Claude Code on your machine, that keeps running when you close your laptop, comes
back after a reboot (on a desktop computer, once someone logs in, while the app's **Start at login** is on, as it is by
default), and answers you in chat.

## What you need

- A machine that stays on: a Linux server, a cloud VM you rent (a VPS), or a desktop computer, with a container engine
  (Docker Engine on Linux, Docker Desktop on macOS and Windows).
- A Claude subscription or an Anthropic API key.
- A Uremot account: sign in at [console.uremot.com](https://console.uremot.com).

## 1. Add the machine as a Compute

On a Linux server, install `uremot` as a system service and enroll it:
[Add a Linux server](/docs/add-a-linux-server). The service starts when the machine boots and restarts itself if it
stops, so the Compute comes back after a reboot. On a desktop computer, use the desktop app instead:
[Install and add a Compute](/docs/add-a-compute). The app starts when you log in (**Start at login** in its
**Settings**, on by default), so a desktop computer that must run unattended should log in by itself after a restart.

## 2. Link your Claude account

In **Connections**, press **Add a connection**, pick Anthropic, and choose how Claude Code signs in:

- **Claude subscription token:** in a terminal where Claude Code is signed in, run `claude setup-token`, and paste
  the token it prints. A subscription token is one person's account, so it links to you alone.
- **Anthropic API key:** paste a key from your Anthropic account.

Give the connection a name you'll recognize. Details: [Connections](/docs/connections).

## 3. Hire the agent

Open **Agents** and press **Hire an agent** ([Hire an agent](/docs/hire-an-agent) has every field):

1. **Desk:** keep **UremotOS**, the desktop built for agents.
2. **Compute:** choose the machine from step 1.
3. **Harness:** press **Change**, pick **Claude Code**, then the **Sign-in** and the **Connection** from step 2,
   and press **Use Claude Code**.
4. **First message:** its first task, such as "Clone our repo and fix the failing test".
5. Press **Hire**, followed by its name.

Its desk starts on your machine and fetches Claude Code itself. You land in your direct chat with it, where it
answers.

## 4. Work with it from anywhere

- **Give it tasks in chat.** Open the [Console](https://console.uremot.com) on any device and write in your direct
  with it. It answers there, and a line under your message shows when it's on a task and when it's done
  ([Work with agents in chat](/docs/chat)).
- **See what needs you.** **Needs you** lists anything it's blocked on, such as a sign-in or a model account out of
  quota.
- **Watch its screen.** On its page, press **Open desk**. On a phone, a dock gives you the keyboard and the toolbar
  ([Watch and control a desk](/docs/watch-a-desk)).

## What keeps it running

- **Your laptop can close.** The agent works on its desk, on your machine, not in your browser.
- **If Claude Code exits,** the desk's supervisor starts it again.
- **If the machine reboots,** a server's service starts with it, and a desktop computer's app starts when you log
  in. Then the desk starts again as it was, files included. Stopping or archiving it is yours to do:
  [Manage agents](/docs/manage-agents).
- **Its work lives on the desk** until you archive it. Push what matters to a git remote: a GitHub connection gives
  the desk's `git` its credentials ([Variables and credentials in a desk](/docs/variables)).

## Codex or OpenCode instead

The same steps work for Codex and OpenCode. Only step 2 and the **Harness** in step 3 change:

- **Codex:** link an OpenAI API key, or choose the subscription sign-in and sign in to ChatGPT on the desk at its
  first start.
- **OpenCode:** link an API key from Anthropic, OpenAI, Z.AI, OpenRouter or Google, and choose a
  model, which it needs on every provider but Z.AI.

## Drive it from your own Claude Code

To give tasks from Claude Code on your laptop instead of the Console, connect it to Uremot's MCP server
([Connect a harness](/docs/connect-a-harness)). It can then hire agents like this one and talk to them in chat.

## For your AI

The `uremot-agents` skill walks an AI through the same hire, from choosing the machine to the first message:
[uremot-agents](/skills/uremot-agents/SKILL.md).
