Clawco

Install on a Mac or Linux machine

Requirements

Node 22.6 or newer with npm, and git. On a Mac with Homebrew, brew install node gives you Node; otherwise download it from nodejs.org. The installer prints the exact command for your system when something is missing.

Node.js downloads

A model key, or a model on your own machine, is asked for later, in the Start room.

Install

Run this in a terminal:

curl -fsSL https://clawco.work/install.sh | bash

The installer's messages are in Danish for now.

What the installer does

  1. Checks the system: Node 22.6 or newer, npm and git.
  2. Downloads the code with git into the app folder, or updates it if it is already there.
  3. Installs the dependencies with npm ci --omit=dev.
  4. Creates your user folder and a settings file that only you can read, unless they already exist.
  5. Installs a background service: a launchd agent on a Mac, a systemd user service on Linux.
  6. Waits for Clawco to answer on its health address and prints where to open it.

Where things live

  • ~/.clawco/app the code. It is replaced on update.
  • ~/.clawco/data your user folder, with your data. Never inside the code folder.
  • ~/.clawco/.env your settings. Never overwritten.
  • ~/.clawco/log the service log.

Set CLAWCO_HOME before you run the installer to use another place.

Back up and restore

One command saves everything Clawco knows about you as a single file with the date in its name, in ~/Clawco-backups. Run it in the app folder:

cd ~/.clawco/app && npm run backup

The file can be read by you only. It holds your user folder, and your notes folder when it is on this machine. A notes folder on a network drive is not included, because it already lives elsewhere; add --med-vault to include it. Keys and passwords are left out; add --med-noegler to include them, and the file is then a secret itself.

To restore on this or another machine, install Clawco, stop it, and give the file to the restore command. It refuses to write into a folder that already holds files. With --erstat it first moves the old folder to the side, next to it, under a name that ends in .foer-gendannelse and the date. Nothing is deleted. It then prints how many rooms and notes came back. Start Clawco again afterwards.

npm run restore -- ~/Clawco-backups/clawco-backup-2026-11-02-0930.tar.gz --erstat

Old backups are never removed for you. To prune by hand, look at the list and delete the files you no longer need:

ls -l ~/Clawco-backups
rm ~/Clawco-backups/clawco-backup-2026-11-02-0930.tar.gz

Options

Pass options after bash -s --, for example to see the plan without changing anything:

curl -fsSL https://clawco.work/install.sh | bash -s -- --dry-run
  • --dry-run shows the plan and changes nothing
  • --yes asks no questions and uses the defaults
  • --no-service installs no background service
  • --port N the port Clawco listens on
  • --data-dir DIR where your data lives
  • --laptop installs for one person on this machine only: Clawco listens on 127.0.0.1, with no sign-in, and Tailscale is not needed

Laptop mode

Use laptop mode when Clawco is for you alone on your own laptop, with no server and no Tailscale. Add --laptop to the install command:

curl -fsSL https://clawco.work/install.sh | bash -s -- --laptop

Clawco then listens on this machine only (127.0.0.1), so nobody else on the same Wi-Fi can open it. It opens straight away as you, with no sign-in and no household questions, starts when you log in, and is restarted if it stops. If the installer finds no Tailscale, it suggests laptop mode and asks you to confirm; with --yes it never turns it on by itself.

Your phone: without Tailscale, the phone cannot reach Clawco. With Tailscale on the laptop and on the phone it can, but only while the laptop is awake. Keeping the laptop awake, for example with caffeinate on a Mac or in the power settings, is your choice; Clawco never does it silently. Clawco treats everything that reaches it through Tailscale as you, so share it only on a Tailscale network that is yours alone.

To leave laptop mode, remove the line KC_LAPTOP=ja from ~/.clawco/.env and restart Clawco.

Update

Run the install command again. The code is fast-forwarded; your settings file and your data are never overwritten.

Remove

Stop and remove the background service.

On a Mac:

launchctl bootout gui/$(id -u)/work.clawco && rm ~/Library/LaunchAgents/work.clawco.plist

On Linux:

systemctl --user disable --now clawco && rm ~/.config/systemd/user/clawco.service && systemctl --user daemon-reload

Then delete the code and the log. Your data and settings stay until you delete them yourself.

rm -rf ~/.clawco/app ~/.clawco/log

To remove everything, your data too: copy ~/.clawco/data to another folder first if you want to keep it, then run:

rm -rf ~/.clawco