claw

All your Claudes, one hub.

clawsh runs Claude Code on every machine you own and puts every session in one browser tab. Start one anywhere, leave it working, step back in from wherever you are.

The dashboard: cards for desk and laptop, each listing its Claude sessions, and studio marked offline with the connection error.
A session page for api on desk: Claude adds retries to an invoice webhook and runs the tests in a full-width terminal.
The new session dialog: pick desk, laptop or studio (offline), a folder and an optional name.
The dashboard at phone width: the machine cards stack in one column. The api session at phone width, with its terminal filling the screen. The new session dialog at phone width.
On your phone: next

Works today in the browser on the computer running clawsh web. The page already fits a phone; opening it from one is next on the roadmap.

What clawsh is

A small manager for Claude Code sessions across your machines. One binary for Windows, Linux and macOS plays every part.

An agent on each machine

clawsh agent keeps claude running in a terminal of its own, so the work carries on after you leave, and remembers recent output for when you come back.

A web page that sees them all

clawsh web lists every machine and session, opens any of them in a full terminal, and starts new ones.

Or a shell, if you'd rather

clawsh ls, new, attach and kill do the same from any terminal. See the CLI.

Three machines, desk, laptop and studio, each run a clawsh agent and connect over your network to the browser or terminal you're using. desk linux agent laptop windows agent studio macos agent where you are $ clawsh web 127.0.0.1:7421 $ clawsh attach

What people use it for

Anything where Claude Code should keep running somewhere and you want an easy way back to it.

Start sessions on any of your machines

Pick the machine and folder in the browser, or run clawsh new desk. The session starts there, on that machine's files and tools, not on the one you're typing at.

Manage every session in one place

One page, or one clawsh ls, lists every session on every machine with its folder, age and how many people are watching. Stop the ones you're done with.

Leave it working, come back later

Close the lid or the terminal and Claude carries on. Reattach to the same running session and the recent output is replayed first, so you see where it got to.

Run Claude where the code and hardware are

Put the session on the workstation with the big build, the GPU or the toolchain, and drive it from a light laptop.

Work across Windows, Linux and macOS

The same binary runs on all three, so a mixed set of machines looks the same from where you sit.

Run several projects side by side

Keep one session per project or branch going at once, and hop between them from a tab or with clawsh attach instead of juggling terminal windows.

Claude Code, with and without clawsh

clawsh doesn't replace Claude Code. It runs the same claude you already use, with your account, settings and MCP servers, and takes care of where it runs and how you get back to it.

WhatClaude Code on its ownClaude Code with clawsh
Where it runs In the terminal you started it from. On any machine running an agent, started from wherever you are.
You close the terminal The session ends, or the SSH drop takes it with it. Claude keeps working. Come back when you like.
Coming back claude --resume starts a new process with the old conversation. Reattach to the same running session, recent output replayed first.
Seeing everything A terminal window per session, per machine. Every machine and session on one page, or one clawsh ls.
Starting on another machine SSH in, cd to the project, run claude. Pick the machine and folder in the browser, or clawsh new desk.
In a browser Not for sessions on your own machines. A full terminal per session in a tab. Phones next.
Mixed operating systems Each machine on its own. Windows, Linux and macOS side by side.
Where traffic goes Between claude and Anthropic. The same, plus your own network between your machines. No clawsh server.

tmux or screen keep a session alive on one machine. clawsh does it across machines, with a page that shows them all.

Install

The same binary goes on every machine that runs Claude and on the one you drive from. About five minutes, most of it copying a token.

Get the binary

curl -fsSL https://varogonz95.github.io/clawsh/install.sh | sh

Puts clawsh in ~/.local/bin, no sudo. It checks the download against the release's checksums. Read the script.

irm https://varogonz95.github.io/clawsh/install.ps1 | iex

In PowerShell. Puts clawsh.exe in %LOCALAPPDATA%\Programs\clawsh and adds it to your PATH, no admin. Read the script.

npm i -g clawsh-cli

Node 18 or newer. Installs the clawsh command; npm fetches only the binary for your platform.

git clone https://github.com/varogonz95/clawsh.git
cd clawsh && make build

Go 1.22 or newer. Prebuilt archives are also on Releases.

  1. Start an agent on each machine

    Wherever Claude Code is installed. It listens on port 7420 and makes a token on first run.

    clawsh agent
    clawsh token   # print it
  2. List them where you drive from

    One entry per agent in hosts.toml. clawsh help shows where it goes.

    [[host]]
    name  = "desk"
    url   = "http://192.168.1.20:7420"
    token = "paste-token-from-desk"
  3. Open the web UI

    It opens your browser. Ctrl-C stops the page, never the sessions.

    clawsh web

Prefer a terminal?

Every page action is a command too. Attach takes over your terminal; Ctrl+] hands it back and leaves Claude working.

$ clawsh ls
TARGET           NAME      STATUS     AGE
desk/815856a6    api       running    2h14m
desk/c01d9e42    infra     running    47m
laptop/3fa0c1b7  frontend  running    12m
studio/9e27aa10  docs      exited(0)  3h02m
$ clawsh attach desk/8158

What's next

clawsh is young. This is the plan in rough order, with no dates. The full list and the open issues are on the roadmap.

Working today shipped

  • Agent and CLIStart, list, attach to and stop sessions on any machine.
  • Web UIEvery machine and session in a browser tab, with a full terminal. This computer only for now.
  • Claude Code pluginStarts an agent for you and lists sessions started outside clawsh. Experimental.

Later planned

  • HardeningAgent as a system service, auto-reconnect, and cleaner session stops on Windows.
  • Several viewersA sensible rule for terminal size when more than one person is watching.
  • Safer networkingTLS or Tailscale support, and finding machines automatically.
  • MoreSplit-pane views and sessions that survive an agent restart.

Something missing? Open an issue or start a discussion.

Before you rely on it

A token lets its holder run claude on that machine

Traffic between agents is plain HTTP, so keep them on a network you trust. An agent only ever runs the claude executable it was started with; the API can add arguments but can't pick the program. The web UI listens on this computer only, with a fresh key each launch.

Read the security notes

What doesn't work yet

  • Opening the web UI from a phone or another computer (#6), and editing machines from the page (#8).
  • Stopping an agent stops its sessions. claude --resume brings the conversation back.
  • Status is running or exited. Working, idle and needs-input are next on the roadmap.
  • Sessions started in a plain terminal show up only with the experimental plugin, and you can't attach to them.