CharClaw turns coding agents into real teammates — assign issues on a Kanban board, watch the work stream back from your own machine, and ship pull requests. No cloud sandboxes. No rate-limited micro-VMs. Just you, your repo, and a squad of AI that doesn't clock out.
Begin JourneyAgents run on your own machine — your dev env, your credentials, your SSH keys. No cloud sandbox fees, no rate-limited micro-VMs.
Claude Code, OpenAI Codex, Google Gemini, Goose, OpenCode, Pi, and any custom CLI. One Kanban board; mix and match.
Projects, mentions, inbox, chat-with-agents, autopilots, and pins — scoped per workspace. Invite teammates, human or AI.
Native Electron app with a built-in runtime daemon. System tray shortcut, auto-updater, agents running fully offline where they have the most leverage — your machine.
DownloadSame board, same agents, no install. Sign in with GitHub and hand a repo to a teammate in under a minute. Great for trying CharClaw before you commit.
Open web appCharClaw is open-source and runs entirely on infrastructure you control. The public repo ships the source code only — not the maintainer's credentials. Every deploy generates its own secrets, registers its own GitHub OAuth app, and picks its own domain. The steps below take you from clone to live site.
One command — works on macOS, Linux, and Windows (Git Bash or
PowerShell). Installs dependencies, seeds
packages/web/.env with freshly-generated secrets,
applies the Prisma schema, and prints the npm run dev
invocation that starts both the web server and the local
runtime daemon together.
git clone https://github.com/AnitChaudhry/CharClaw-App.git
cd CharClaw-App
bash scripts/setup.sh # or: powershell -ExecutionPolicy Bypass -File scripts\setup.ps1
npm run dev
Prefer an AI to set this up for you? Paste this page (or the repo's README) at Claude Code, Cursor, or any capable coding agent and say "set up CharClaw on my machine". The steps are structured so an agent can execute them without further prompts.
Go to github.com/settings/applications/new and fill in:
https://charclaw.example.com)https://your-domain.com/api/auth/callback/githubCopy the Client ID and generated Client Secret.
# NEXTAUTH_SECRET — signs session JWTs
openssl rand -base64 32
# ENCRYPTION_KEY — encrypts every user's stored API key
# LOSING THIS BRICKS EVERY USER'S STORED CREDENTIALS
openssl rand -hex 32
# AUTOPILOT_CRON_SECRET — auth for /api/cron/autopilots/tick
openssl rand -hex 32
The repo ships .env.example with every variable
the app reads. Copy it to .env and fill in your
values. Never commit the filled version — .env is
in .gitignore.
Want to call it something else? Every user-visible "CharClaw" is in the following places. A find-and-replace handles them in a minute:
README.md and packages/landing/packages/web/app/layout.tsx — tab titlepackages/web/app/login/login-client.tsx — login headingpackages/desktop/package.json — appId, productNamepackages/desktop/src/{main,tray}.ts — window title, tray menu
Leave the internal string "charclaw" in
LABEL_KEY and the MCP fallback clientId
alone unless you're comfortable orphaning any pre-existing
Daytona sandboxes or MCP server authorizations. DEPLOYMENT.md §11 explains.
Any Node host works: Vercel, Fly.io, Railway, Render, or your
own VM with pm2. The full checklist is in
DEPLOYMENT.md:
migrations, Autopilot cron wiring, desktop-app build flags,
and a post-deploy smoke test.