Claurst is an open-source, multi-provider terminal coding agent built from the ground up in Rust. It started as a clean-room reimplementation of Claude Code's behavior (from spec) and has since evolved into an amazing TUI pair programmer with multi-provider support, a rich UI, plugin system, a companion named Rustle, chat forking, memory consolidation, and much more. It's fast, it's memory-efficient, it's yours to run however you want, and there's no tracking or telemetry. irm https://github.com/kuberwastaken/claurst/releases/latest/download/install.ps1 | iex
Claurst is an open-source, multi-provider terminal coding agent built from the ground up in Rust. It started as a clean-room reimplementation of Claude Code's behavior (from spec) and has since evolved into an amazing TUI pair programmer with multi-provider support, a rich UI, plugin system, a companion named Rustle, chat forking, memory consolidation, and much more.
It's fast, it's memory-efficient, it's yours to run however you want, and there's no tracking or telemetry.
[!IMPORTANT] Claurst is now officially in Beta (v0.1.4). The core agent, multi-provider routing, and TUI are stable enough for daily driving — expect rough edges around experimental features (flagged below). Bug reports and PRs welcome.
[!NOTE] Recent Updates:
/share support: Use
/shareto share chat sessions with others via unlisted GitHub Gists.[EXPERIMENTAL]Free Mode: Try out Free in '/connect' to get a great agentic coding experience in Claurst for absolutely free (or as good as free gets you :P).
[EXPERIMENTAL]/goal support: Try out
/goal <objective>to see claurst keep working an objective, spanning multiple turns instead of stopping after one normal turn.[EXPERIMENTAL]
Linux / macOS:
curl -fsSL https://github.com/kuberwastaken/claurst/releases/latest/download/install.sh | bash
Windows (PowerShell):
irm https://github.com/kuberwastaken/claurst/releases/latest/download/install.ps1 | iex
This drops claurst into ~/.claurst/bin (or %USERPROFILE%\.claurst\bin on Windows) and adds it to your PATH automatically. Open a new terminal and run claurst.
If you have Node.js or Bun installed, you can install Claurst as a global package. The postinstall script automatically downloads the right pre-built binary for your platform.
# npm
npm install -g claurst
# bun
bun install -g claurst
# or run without installing
npx claurst
bunx claurst
To upgrade later, run:
claurst upgrade
Pin a specific version with
--version 0.1.0on either installer, orclaurst upgrade --version 0.1.0.
If you'd rather grab the binary yourself, the latest archives are on GitHub Releases:
| Platform | Archive |
|---|---|
| Windows x86_64 | claurst-windows-x86_64.zip |
| Linux x86_64 | claurst-linux-x86_64.tar.gz |
| Linux aarch64 | claurst-linux-aarch64.tar.gz |
| macOS Intel | claurst-macos-x86_64.tar.gz |
| macOS Apple Silicon | claurst-macos-aarch64.tar.gz |
Each archive contains a single claurst (or claurst.exe) binary. Extract it and put it on your PATH.
git clone https://github.com/kuberwastaken/claurst.git
cd claurst/src-rust
cargo build --release --package claurst
# Binary is at target/release/claurst
Raspberry Pi / systems without ALSA (e.g. Debian Trixie, headless servers):
# Build without voice/microphone support — no libasound2-dev required
cargo build --release --package claurst --no-default-features
# Set your API key (or use /connect inside Claurst to configure)
export ANTHROPIC_API_KEY=sk-ant-...
# Start Claurst
claurst
# Or run a one-shot headless query
claurst -p "explain this codebase"
After cloning this repository, open it in VS Code and use Reopen in Container to start the development environment.
Prerequisites:
GPG and SSH forwarding is enabled in the devcontainer, given you have it set up on your host machine. Follow this guide if you need help with that.
rust:1-bullseye.gnupg2, libasound2-dev, libxdo-dev, and pkg-config.common-utils (with vscode user uid/gid 1000 and Zsh install disabled), git, and docker-outside-of-docker (moby: false).vscode user by default./usr/local/cargo/registry and /usr/local/cargo/git..claurst into /home/vscode/.claurst for local settings/session history access.GNUPGHOME=/home/vscode/.gnupg and prepends src-rust/target/debug and src-rust/target/release to PATH..gnupg, and fixes ownership for /usr/local/cargo.terminal.integrated.inheritEnv is enabled.Claurst speaks the Agent Client Protocol (ACP) — the open protocol pioneered by Zed for editor-to-agent communication. Any ACP-compatible editor (Zed, Neovim, JetBrains plugins, …) can drive Claurst as a subprocess and present it in the editor's native chat UI.
To use Claurst as the agent in your editor, point its ACP integration at:
command: claurst
args: ["acp"]
Zed example (~/.config/zed/settings.json):
{
"agent_servers": {
"claurst": {
"command": "claurst",
"args": ["acp"]
}
}
}
Claurst will run in JSON-RPC 2.0 mode over stdio. It implements initialize, session/new, session/prompt, and session/cancel, streams session/update notifications (text deltas, agent thinking, tool calls with their progress + results), and routes every tool permission through session/request_permission so the editor can show a native approval dialog.
Configure your provider / API key in ~/.claurst/settings.json (or claurst auth login / claurst /connect) before launching — the ACP agent uses the same credentials and providers as the interactive TUI.
Enable verbose ACP logging (to stderr — never stdout, which would corrupt the protocol) by setting CLAURST_ACP_LOG=debug.
The Agent Client Protocol registry is the canonical directory editors look up when offering "available agents". To get Claurst listed:
agentclientprotocol/registry.claurst/ folder at the repo root and drop in the prepared manifest from this repo: src-rust/crates/acp/registry-template/agent.json. Bump the version and release-archive URLs to match the latest GitHub release.claurst/icon.svg (16×16 recommended) — the Rustle logo from public/ is a fine starting point.agent.json against the schema before merge.After merge, Zed and other ACP-aware editors will pick up Claurst on their next registry refresh.
For more info on how to configure Claurst, head over to our docs.
PS: The original breakdown of the findings from Claude Code's source that started this project is on my blog - the full technical writeup of what was found, how the leak happened, and what it revealed.
Claurst is built for the community, by the community and we'd love your help making it better. Please see and include AGENTS.md for project-specific rules (for both humans and agents).
Open an issue for bugs, ideas, or questions, or Raise a PR to fix bugs, add features, or improve documentation.
This repository does not hold a copy of the proprietary Claude Code TypeScript source code. This is a clean-room Rust reimplementation of Claude Code's behavior.
The process was explicitly two-phase:
Specification spec/ — An AI agent analyzed the source and produced exhaustive behavioral specifications and improvements, deviated from the original: architecture, data flows, tool contracts, system designs. No source code was carried forward.
Implementation src-rust/ — A separate AI agent implemented from the spec alone, never referencing the original TypeScript. The output is idiomatic Rust that reproduces the behavior, not the expression.
This mirrors the legal precedent established by Phoenix Technologies v. IBM (1984) — clean-room engineering of the BIOS — and the principle from Baker v. Selden (1879) that copyright protects expression, not ideas or behavior.
[Harness Review] claurst: Claude Code's Leaked Rust-based Clean-Room Porting Project
LOADING_ · 0K views
“Contributions, development, participation and community — I guess the amount of issues is rising, there is a decent amount of forks, and I feel it is a good time to start actively discussing what is going on. I feel like…”
“Hey HN! I've been building Claurst - a clean-room implementation of Claude Code in Rust, with extra features to make my ideal agentic Open-Source AI CLI. It's WIP and rough, but I'm shipping a lot to make it amaze amaze …”
“Show HN: Claurst – Rust-Based OSS Terminal Coding Agent Now in Beta”
“Free Mode, Managed Agents, /Goal and new features - What do we think — As we get ready for v0.1.0 - there's been many additions to the project, of course most highly experimental I would love to get feedback on what you…”
“How do i add a self hosted Ollama Gemma4 model running on another machine? — hello, i could use some help setting up claurst on my test laptop. i have a mac mini running ollama and serving gemma 4 e4b. in the openclaud…”
“This is awesome! can't wait to see where it goes as it continues development Always funny how Hacker News works with traction, posted about a rust based TUI agent I'm working on a couple days ago too :P https://github.co…”
AI
Companies use AI to filter candidates. I just gave candidates AI to choose companies. Career-Ops (career-ops.org, also known as careerops) turns any AI coding CLI into a full job search command center. Instead of manually tracking applications in a spreadsheet, you get an AI-powered pipeline that: Career-ops is agentic: Claude Code navigates career pages with Playwright, evaluates fit by reasoning about your CV vs the job description (not keyword matching), and adapts your resume per listing.
AI
CLI-Anything: Bridging the Gap Between AI Agents and the World's Software 🌐 CLI-Hub: pip install cli-anything-hub then cli-hub install — browse, install, and manage all community-built CLIs. Want to add your own? Open a PR — the hub updates instantly. 🎬 See Demos: Watch AI agents use generated CLIs plus preview, live preview, and trajectory loops to produce real artifacts — CAD builds, 3D scenes, diagrams, gameplay, subtitles, and more.
AI
A self-hosted AI workspace -- meant to be the self-hosted version of the UI experience you get from ChatGPT and Claude. But with more jank and fun. Running on your own hardware, with your own data -- local-first, privacy-first, and no trojan. A full, hover-to-play tour lives on the landing page (docs/index.html). Defaults work out of the box: clone, run, then configure models/search/email inside Settings. Only edit .env for deployment-level overrides like APPBIND, APPPORT, AUTHENABLED, DATABASEURL, or a pre-seeded admin password.
AI
Most AI material teaches in scattered pieces. A paper here, a fine-tuning post there, a flashy agent demo somewhere else. The pieces rarely line up. You ship a chatbot but can't explain its loss curve. You hook a function to an agent but can't say what attention does inside the model that's calling it. This curriculum is the spine. 20 phases, 503 lessons, four languages: Python, TypeScript, Rust, Julia. Linear algebra at one end, autonomous swarms at the other. Every algorithm gets built from raw math first. Backprop. Tokenizer. Attention. Agent loop. By the time PyTorch shows up, you already know what it's doing under the hood. Each lesson runs the same loop: read the problem, derive the math, write the code, run the test, keep the artifact. No five-minute videos, no copy-paste deploys,