GitHub - srothgan/claude-code-rust: A native Rust terminal interface for Claude Code · GitHub
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.

Note

Agent SDK billing unchanged. Anthropic has paused the previously announced Agent SDK credit change. For now nothing changes: Claude Agent SDK usage — including claude -p and third-party apps like this one — still draws from your normal Claude subscription limits. See Use the Claude Agent SDK with your Claude plan.

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 any future changes Anthropic may make to how Agent SDK usage is metered. 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