TerminalClaw is a tiny dashboard that turns Anthropic's own agent into a per-project browser terminal — with viewable memory, persistent sessions and multiple agents at once. On your Claude Pro/Max plan. No API metering, no gateway.
Open a project, type claude, and you're talking to a grounded agent — from your laptop or your phone.
Why it exists
If you've run an OpenClaw-style setup — a third-party harness wrapped around a gateway that holds your API key and meters every token — you know the tax. TerminalClaw drops the middle layer and runs Anthropic's official agent directly, on the plan you already have.
What you get
One page over every project on one machine. Each project's terminal is a project-scoped Claude Code agent — not just a shell in a folder.
A Memory tab shows the force-read brief and Claude Code's own per-project recall as Markdown — add or edit a memory right from the browser.
Each project boots from an auto-built CLAUDE.md with its memory @-imported, so the agent starts already knowing the codebase. No cold starts.
Every project is its own persistent session. A pulsing green light shows which ones have Claude running — drive several in parallel.
Backed by tmux: reload the page, reboot the box, come back tomorrow — a bare claude auto-resumes right where you left off.
A mobile tap-bar sends the keys soft keyboards can't, plus a 🎤 dictation box and clipboard paste — answer an agent prompt from anywhere.
Two independent cookie-auth layers and a dial-out Cloudflare Tunnel — nothing is exposed on the box. Your sessions and data stay home.
A stdlib Python server + a vanilla-JS page + ttyd. No build step, no framework, no database. You can read the whole thing.
Each card shows green/red/grey dots for its Docker containers and systemd services, refreshed every 20s — your homelab and your agents in one view.
tclaw update pulls latest and restarts — without killing your live agent sessions. git push from your laptop, update each box.
How it works
The dashboard loads that project's terminal in an iframe and attaches to its persistent tmux session — same session every time.
claudeA shell wrapper rebuilds the project's CLAUDE.md from its tabs and memory, so the official Claude Code agent starts fully grounded.
From the browser on any device. Memory, docs and live service status sit one tab away — and it all persists across reloads and reboots.
Drop three files in /opt/terminalclaw, point projects.json at your
projects, install the systemd units. The repo ships sanitized Caddy / Cloudflare / systemd
templates — your real config never leaves the box.
MIT licensed · runs on a Raspberry Pi, a mini-PC, or a VPS