Kumanda — Remote Control for AI Coding Agents
TypeScriptFastifyAngular PWAClaude Agent SDKTailscale
300+
Automated Tests
3
Monorepo Packages
<500kB
PWA Initial Bundle
93
Commits (in 4 Days)
The Problem
Long-running AI coding sessions meant waiting at the computer: I didn't know when the agent asked for approval on a command or finished a job. And exposing a system that can run commands on my machine to the internet was a serious security risk.
The Approach
Built a Fastify + WebSocket daemon on the Claude Agent SDK and wrote the client as an Angular PWA. Connections go only over the Tailscale network; the system uses no API key and never reads Claude's credential file. Documented the threat model, including what the system explicitly can't protect against.
Engineering Highlights
- Approval rules accept only exact/prefix matches; chained shell commands are always prompted, and a risky-command list (deletes, force push, reset --hard) overrides every rule.
- Dependency-free Web Push (RFC 8291/8292) with Telegram as a 'first answer wins' fallback channel.
- Device tokens are stored only as hashes, and revoking a device closes its connection immediately.
- Sessions resume with the same SDK session after sleep, crash or shutdown; runs as a password-less Windows task under a restarting supervisor.
Want to build something like this?
Get In Touch