v0.36.4 · TypeScript agent runtime

The agent that
keeps its nest tidy.

A TypeScript agent that lives in one folder, distills its own work into long-term memory, and gets sharper the longer it runs.

bun add -g typeclaw

Talks to — and a websocket TUI

Self-improving

It remembers. It learns. It gets sharper while you sleep.

Every conversation, every command, every insight — your agent watches its own work, then a dreaming subagent distills it into long-term memory and reusable skills. No prompts to write. It just gets better.

  1. 1

    Session log

    every reply and tool call is appended to a daily stream

  2. 2

    Dreaming subagent

    distills the day into fragments on its own schedule

  3. 3

    Sharded memory

    fragments land in memory/topics/, sharded by subject

  4. 4

    Reusable skill

    recurring procedures get written into a markdown skill

loops back into the next session log

Just a folder

One folder. One agent. No mess.

Drop it in any folder. One command, and it's alive. Its own .env, its own memory, its own channels. When you're done, delete the folder — it's gone. No global install, no residue.

your machine
docker

my-agent

  • ~ typeclaw run
  • ~ /agent mounted
  • ~ slack-bot · up
  • ~ cron · 3 jobs

Safe by design

You're in control. Always.

Owner, trusted, member, guest — role-based permissions gate every action. A Slack stranger can't tell your agent to push to main. You can. The agent knows who's in the room and what they can do.

Owner → Full access
Guest → Read only

Plugins as imports

Teach it something new? Just write TypeScript.

No IPC, no FFI, no weird config files. Plain .ts files that contribute tools, skills, channels, and commands — all in the language you already write.

plugins/pr-review.ts
import { definePlugin } from 'typeclaw'

export default definePlugin({
  name: 'pr-review',
  tools: {
    triage: async ({ pr }) => {
      const diff = await gh.getDiff(pr)
      return summarize(diff)
    },
  },
  skills: ['skills/pr-review.md'],
})

one minute, end to end

Four commands. It's live.

my-agent

Use cases

For every workflow

Track your reading list, summarize newsletters, manage your calendar, remember your preferences — one agent that learns how you work.

“Last week I told my agent I prefer kebab-case for filenames. Yesterday it suggested a rename without me asking.”

— A TypeClaw user

how it compares

There are great agents. None had the right shape.

If you live in TypeScript and want plugins that are just imports, here's the honest landscape.

RuntimeDocker-firstSelf-improvingMulti-channelFull-featured pluginsGit-nativePermission systemNotes
OpenClaw
TypeScript
~
Feature-rich · Heavy
NanoClaw
TypeScript
Simple · No plugin system
PicoClaw
Go
~
~
Fast · Plugins live outside the runtime
ZeroClaw
Rust
~
~
Light · Plugins live outside the runtime
Hermes Agent
Python
~
~
Awesome · Python
TypeClaw
TypeScript
TypeScript end to end · the answer

Ready to try it?

One command, one folder, one container. Trying it costs nothing.