by thClaws
Open-source AI agent harness in native Rust — GUI, CLI, headless, and webapp from one binary. Multi-provider, MCP, skills, plugins, agent teams.
# Add to your Claude Code skills
git clone https://github.com/thClaws/thClawsLast scanned: 5/6/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-06T06:29:56.512Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
The open-source agent harness, in your terminal and on your desktop.
A native-Rust AI agent workspace that codes, automates, remembers, and coordinates — running on your own machine. One binary. Sovereign by design. Built by a small team hacking in public.
Website · Download · Manual · Discussions · Contribute
Three tabs, one binary — captured from a live thClaws session looking at its own source.
Files (codemirror + tiptap) · Terminal (REPL · slash commands · ANSI tool output) · Chat (markdown render · tool indicators)
thClaws started in April 2026. As of this writing the project has shipped 20+ releases, drawn 27 contributors, and lands roughly a release a week. It's developed by a small team at ThaiGPT Co., Ltd. — and a meaningful chunk of the codebase comes from outside contributors who heard about it and stayed.
We're aiming for v1.0 = "the multi-platform agent": the same agent loop on your desktop, in your terminal, and bridged into Telegram, Discord, Slack, WhatsApp, Facebook Messenger, and LINE. Telegram, LINE, and Messenger are already shipping. Discord, Slack, and WhatsApp are next — and they're great places to plug in. (Contribute →)
Built in Thailand. Meant for the world.
The same Agent loop, Session, and ToolRegistry back every UX:
thclaws) — native window with Terminal, Chat, Files, and optional Team tabs.thclaws --cli) — interactive terminal prompt for SSH, headless servers, or zero-GUI workflows.thclaws -p "prompt") — single turn, exits. Pipe-friendly for scripts and CI. -v for token usage on stderr.thclaws --serve --port 7878) — same engine over WebSocket/HTTP. SSH-tunnel for "Claude Code anywhere" without opening a port.Everything's in one binary. Pick the surface that fits the task, swap the provider, drop in a skill, glue in an MCP server, then walk away while a scheduled job or background agent finishes the work.
oai/*) for LiteLLM / Portkey / Helicone / vLLM / internal proxies. Switch mid-session with /model or /provider.AGENTS.md for project instructions (adopted by Google, OpenAI, Factory, Sourcegraph, Cursor), SKILL.md with YAML frontmatter for packaged workflows. Configuration portable between thClaws, other compliant agents, and whatever comes next.SKILL.md. Plugins bundle skills + commands + agent definitions + MCP servers under one manifest. MCP brings in third-party tools (GitHub, filesystems, browsers, Slack…) over stdio or HTTP-Streamable with OAuth 2.1+PKCE. Hooks run shell scripts on lifecycle events (pre_tool_use, permission_denied, session_start, …).Task tool, blocking, up to 3 levels deep); user-driven concurrent side-channels (/agent <name> <prompt>, parallel to main, own cancel token); multi-process Agent Teams with shared mailbox, task queue, tmux panes, and optional git worktrees./dream — per-project and per-user wikis under .thclaws/kms/<name>/pages/, indexed by a one-line index.md. Grep + read (no embeddings), following Andrej Karpathy's LLM-wiki pattern. /dream mines your recent sessions in the background and writes a dated audit-trail page to review with git diff.EnterPlanMode proposes an ordered list of steps you Approve / Cancel / Skip / Retry. Same UX in GUI sidebar and /plan slash command./schedule add runs an agent on cron, fixed intervals, or filesystem changes (watchWorkspace). In-process scheduler for ephemeral, native daemon (launchd / systemd-user) for survives-reboot./loop for fixed-interval iteration, /goal for audit-driven completion. /goal --auto is a Ralph-style overnight builder that keeps going until the goal is satisfied or you wake up.AGENTS.md (or CLAUDE.md) walked up from cwd and injected into the system prompt. Persistent memory store classified as user / feedback / project / reference, stored as markdown you can read, edit, or commit..thclaws/settings.json (project) or ~/.config/thclaws/settings.json (user). API keys go in the OS keychain by default (macOS Keychain / Windows Credential Manager / Linux Secret Service) with .env fallback for CI.thclaws --resume last or --resume <id>. Sessions live as JSONL under .thclaws/sessions/ — git-friendly, grep-friendly, never opaque./plugin install …-deploy), so hosts are swappable. The client never locks you in.! to run a shell command directly. No tokens, no approval prompt, no agent round-trip (! git status, ! ls).We'd love your help. thClaws is built in the open by a small team and ~25 contributors so far. Reviews are typically fast, the codebase is approachable, and there's plenty of room to make a real dent.
git clone https://github.com/thClaws/thClaws.git
cd thClaws
# One-shot: build frontend, then cargo build --features gui
./scripts/build.sh # macOS / Linux
./scripts/build.ps1 # Windows PowerShell
# Verification suite (cargo fmt --check, clippy, tsc, cargo test)
./scripts/build.sh --check
# Run
cargo run --features gui # GUI
cargo run -- --cli # CLI REPL
cargo run -- -p "explain crates/core" # one-shot
Prerequisites: Rust 1.85+, Node.js 20+, pnpm 9+. The helper enforces frontend-before-cargo order (the GUI build embeds frontend/dist/index.html at compile time via include_str!). See CONTRIBUTING.md for the full PR workflow.
If you want to land something impactful, these are the places we'd most love a hand:
crates/core/src/messenger/ and friends).Browse [good first issues](https://github.com/thClaws/thClaws/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+fir