Skip to content

srothgan/claude-code-rust

Claude Code Rust

A native Rust terminal interface for Claude Code. Drop-in replacement for Anthropic's stock Node.js/React Ink TUI, built for performance and a better user experience.

npm version npm downloads CI Docs License: Apache-2.0 Node.js

About

Claude Code Rust replaces the stock Claude Code terminal interface with a native Rust binary built on Ratatui. It connects to the same Claude API through a local Agent SDK bridge. Core Claude Code functionality - tool calls, file editing, terminal commands, and permissions - works unchanged.

Requisites

  • Node.js 18+ (for the Agent SDK bridge)
  • Existing Claude Code authentication (~/.claude/config.json)

Install

npm (global, recommended)

npm install -g claude-code-rust

The published package installs a claude-rs command and fetches the matching prebuilt release binary for your platform during install.

If claude-rs resolves to an older global shim, ensure your npm global bin directory comes first on PATH or remove the stale shim before retrying.

Usage

claude-rs

Full documentation is available at srothgan.github.io/claude-code-rust.

Warning

Agent SDK billing changes on June 15, 2026. Anthropic says Agent SDK usage, claude -p, Claude Code GitHub Actions, and third-party Agent SDK apps will use a separate monthly Agent SDK credit instead of normal interactive Claude or Claude Code subscription limits. Because Claude Code Rust wraps the Agent SDK, treat usage through this project as Agent SDK usage. If that credit is exhausted, continued use may require enabling extra usage billed at standard API rates, or requests may pause until the credit refreshes.

Sources:

Why

The stock Claude Code TUI runs on Node.js with React Ink. This causes real problems:

  • Memory: 200-400MB baseline vs ~20-50MB for a native binary
  • Startup: 2-5 seconds vs under 100ms
  • Scrollback: Broken virtual scrolling that loses history
  • Input latency: Event queue delays on keystroke handling
  • Copy/paste: Custom implementation instead of native terminal support

Claude Code Rust fixes all of these by compiling to a single native binary with direct terminal control via Crossterm.

Documentation

The manual covers installation from npm and source, help, slash commands, keyboard shortcuts, settings, diagnostics, architecture, and the changelog:

Status

This project is pre-1.0 and under active development. See CONTRIBUTING.md for how to get involved.

Limitations

Startup is still constrained by the upstream Claude Agent SDK runtime that this TUI wraps. The Rust interface itself is fast, but end-to-end readiness can still take noticeable time before a session is fully available. Improving that remains an active area of work.

License

This project is licensed under the Apache License 2.0. Apache-2.0 was chosen to keep usage and redistribution straightforward for individual users, downstream packagers, and commercial adopters.

Disclaimer and Legal Notice

This project is not affiliated with, endorsed by, or supported by Anthropic.

A quick note on where this project stands, since I know people worry about this kind of thing: claude-code-rust is a terminal UI that I wrote from scratch in Rust. It is not a fork, copy or port of the latest Claude Code source leak -- it talks to Anthropic's official Agent SDK as a runtime dependency instead, the same way any other third-party tool would. No Anthropic source code was read or used as reference at any point during development.

The project authenticates through your existing Claude Code account via the Agent SDK, and the Agent SDK's terms allow building on top of it. Billing, credits, limits, and overage behavior are controlled by Anthropic, including the Agent SDK credit change noted above. Other community projects do the same. As far as I can tell, using this project is fine -- but I am a single maintainer, not a lawyer. If anything changes on Anthropic's end, I will update this section and adjust the project accordingly.

This project's source code is licensed under Apache-2.0. The Agent SDK itself is proprietary and governed by Anthropic's Commercial Terms of Service.

For official Claude documentation, see https://claude.ai/docs.

About

A native Rust terminal interface for Claude Code

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors