What is TypeClaw?
A general-purpose AI agent that lives in its own container and answers from Slack, GitHub, cron, or your terminal
TypeClaw is an AI agent you run yourself. It lives in its own container, and you talk to it from a terminal, from Slack or Discord, or by requesting it on a GitHub pull request. It can run jobs on a schedule, browse real web pages, and it gets sharper over time by learning from its own work.
You give it an inbox and a job. It does the rest.
See it do something real
Request the agent as a reviewer on a GitHub pull request, and it reads the diff, thinks it through, and posts a real line-by-line review back — no human pressing a button.
This is live, right now
@typeey — TypeClaw's own mascot agent — reviews pull requests on the real
typeclaw/typeclaw repo exactly this way. Request it as a reviewer, it writes
a formal review and posts it. The Code reviewer recipe is the full setup behind that
live example.
That's one job. The same agent can sit in your team's Slack, summarize your repos every morning, run a dev server you reach at localhost, or just answer questions in a terminal. One agent, many inboxes.
Get started
Quickstart — 5 minutes
Install it, start it, get your first reply. No prior setup, nothing to configure first.
Add a channel
Give the agent another inbox — Slack, Discord, Telegram, or GitHub — beyond the one you set up at init.
Code reviewer
The full recipe behind @typeey: request the agent on a PR and have it post a deep review back.
How it's built
The one idea — the container is the trust boundary — that the rest of the design falls out of.
What you get
- 🐳 Runs in its own container — each agent is sandboxed, with your folders mounted in and its own
.env. Nothing it does can reach the rest of your machine. - 💬 Many inboxes — Slack, Discord, GitHub, Telegram, KakaoTalk, and a built-in terminal UI. Same agent, wherever you are.
- 👥 Knows the room — in a group chat it knows who's present, tells humans from bots, and stays in the conversation after replying without needing to be re-mentioned.
- ⏰ Works on a schedule — give it cron jobs (a prompt or a shell command) and it runs them on its own clock.
- 🌱 Gets better on its own — it watches its own work, distills what it learns into long-term memory and reusable skills, and applies them next time. No prompt-tuning from you.
- 📚 Skills on demand — step-by-step procedures it loads only when a task needs them, so they cost nothing until used.
- 🔌 Extend it in TypeScript — add tools, skills, and channels with a plain
.tsfile. No separate plugin language, no IPC. - 🌐 Reachable when you need it — dev servers inside the container show up on your
localhostautomatically; public URLs via Cloudflare (zero signup) when something outside needs to reach in.
How these docs are organised
Five ways in, depending on what you're here for.
Guides
Walk through a task start to finish. Read top to bottom the first time; each one picks up where the last ended.
Recipes
Complete, real-world setups that wire several pieces together — like the live PR reviewer.
Concepts
The mental models the rest leans on. Read one when something doesn't click. No commands, just the shape.
Reference
Schemas, flags, field tables, grammars. Random-access — you already know what you're looking for.
Internals
Implementation notes for contributors and the curious. Terse, file-path-heavy, the why behind the design.
If you're brand new, start with the 5-minute Quickstart.
Why another agent runtime?
Under the hood, TypeClaw is TypeScript end to end — the agent core, the plugins, the channel adapters, the CLI, and the terminal UI are all one language and one codebase. That's the bet: there are other good agent runtimes, but each one drew a line somewhere I didn't want.
| Runtime | What it gets right | Where it drew the line |
|---|---|---|
| OpenClaw | Feature-rich | Heavy |
| NanoClaw | Simple | No plugin system |
| PicoClaw | Fast | Go — plugins live outside the runtime |
| ZeroClaw | Light | Rust — same problem, different ecosystem |
| Hermes Agent | Awesome | Python |
If one of those fits you, use it. If you want a single TypeScript codebase from the entrypoint down to the message bus — and an agent you can extend without leaving that language — that's TypeClaw.