Repository navigation
v0.3.0: Remote Control server --name; /healthz for homelab monitors
Why
- The server's session had no proper title. The session
claude remote-controlcreates at start appeared in claude.ai/code and the Claude app under a generated name (for exampleiris-lucky-orbit). con-ant/hass-addons#56 found the--nameflag for this. - Monitors and the health check failed against the user check. With
CLAUDE_WEB_AUTHon, anything that requested/got a 403. That included the image's own health check, which logged a refusal every minute on iris, and it would include any Uptime Kuma, Gatus or Homepage monitor. The health check also only showed that the front end answered, not that the terminal worked.
What
- Server name.
claude remote-controlruns with--name "${CLAUDE_RC_SERVER_NAME:-<hostname>}". - Permission mode for app sessions. The new optional
CLAUDE_RC_PERMISSION_MODEpasses--permission-modeto the server, from add-on con-ant/hass-addons#46. - Matching the server. The watcher and the sessions list now find the server with or without flags.
/healthz. It answers200 okwhen ttyd accepts a connection and503when it doesn't. It skips the user check and logs nothing./healthz?full=1. The same status code with JSON detail:terminal,claude_code(the version),remote_control_server,update_watcherandauth. A stopped server usually means the Claude login lapsed, so a monitor can alert on it. It reports states only.HEALTHCHECK. It calls/healthzwith the front end on, and plain ttyd withCLAUDE_WEB_FRONT=false.docs/monitoring.md. It covers:- Uptime Kuma: HTTP, JSON query, Docker health, and AutoKuma labels
- Gatus
- Homepage
- Watchtower, with
WATCHTOWER_TIMEOUT=30sso the clean stop finishes - Traefik, plus Authelia and Authentik forward auth in header mode
Tested
- Unit tests: 11 of 11 pass. The new ones cover:
/healthzreturns 503 with the terminal down- the JSON shape
- no refusal is logged under Pomerium mode
- the server is found when started with flags, which fails against the old exact-match code
- Smoke test, in the built image:
/healthz?full=1reports every part up. The stand-in server now runs with exactly the real command line,claude remote-control …. - The flags are real. On Claude Code 2.1.308,
claude remote-control --helplists--nameand--permission-mode.
Labelled release:minor: new endpoints and settings.
🤖 Generated with Claude Code
https://claude.ai/code/session_01R5XxmiR28R15untFmoAMDW
Image: ghcr.io/cmmichael/claude-code-remote-container:0.3.0 (also :0.3)
Digest: sha256:a8efd093c86d2be7557936d53a4f3dbe59e7e20ac69c6ee560360ee073c18a78
Changes: v0.2.0...v0.3.0