Command line
Run these in the ccr-cloud folder on the server, as the service user. None of them install system packages or change your Claude or Git credentials.
#npm run setup
Prepares configuration and prints the next steps. Safe to run again: it keeps your existing configuration and owner token.
npm run setup -- [options]| Option | Effect |
|---|---|
| (none) | Create or check configuration and print connection steps. |
--start | Also start the service in tmux if it isn't running, then verify it accepts your token. Never restarts a running service. |
--tailscale | Publish the app on your tailnet with Tailscale Serve. See Tailscale. |
--cloudflare HOSTNAME | Set up a Cloudflare tunnel for your hostname. See Cloudflare. |
--verbose | Show logs, configuration paths and optional GitHub checks. |
--help | Show help without changing anything. |
#npm run doctor
Checks tools and host resources without changing anything. It checks that claude exists, not that it's logged in; use claude -p "Reply OK" for that.
npm run doctor # tools and resources
npm run doctor -- --service # also check the running service#npm run github
Diagnoses Git and GitHub access without printing credentials. See Set up GitHub access.
| Command | Effect |
|---|---|
npm run github | Check commit identity, GitHub API login and SSH authentication. |
npm run github -- --repo URL | Check one exact repository URL. Exits with 1 if it can't be read or Git has no commit identity. |
npm run github -- --setup --protocol ssh | Print SSH setup steps. |
npm run github -- --setup --protocol https | Print HTTPS credential-helper setup steps. |
Push access is never tested. Results apply to the shell you run them in, which can differ from a running service; confirm in the app afterwards.
#npm run resources
Prints a read-only snapshot of memory, swap, load, disk and inodes. See Check host resources.
#npm run image
Builds the Docker session image. Needed only for Docker mode.
#npm start
Starts the control plane in the foreground with settings from the environment. Setup uses a start script that loads server.env first, so prefer npm run setup -- --start in host mode.
#npm run dev
Starts a development server at http://localhost:8790 (token dev) with a fake Claude, so you can try the app without model access. It keeps its data in .data/dev and ignores your real CCR_CLOUD_DATA and CCR_CLOUD_TOKEN. Prompts starting with use-tool trigger an approval request.
#Output
When attached to a terminal, output uses colored OK, WARN, FAIL and INFO labels. The labels stay readable without color. Set NO_COLOR=1 to turn color off or FORCE_COLOR=1 to force it.