npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

rabbit-code-cli

v2.1.54

Published

Rabbit Code CLI — AI coding assistant in the terminal, coded by Whenjay

Readme


The Story

Claude Code is arguably the best AI coding CLI in the world. But it's closed-source.

Then claude-code-best did the insane work of decompiling the entire thing — 43 tools, 100+ commands, 5000-line REPL, multi-provider API, MCP protocol, plugin system — all reverse-engineered from the compiled bundle.

We took that, and actually made it run.

It wasn't easy. The decompiled code was riddled with landmines:

  • API 500 errors — The prompt-caching-scope-2026-01-05 beta header sends cache_control.scope:"global" on system prompts. The server rejects this from non-official builds. We had to disable all experimental betas.
  • Empty streaming responses — Opus returns 200 headers but zero events, triggering a non-streaming fallback that sends thinking: {"type":"adaptive"} — which non-streaming doesn't support. We patched adjustParamsForNonStreaming to convert adaptive thinking to budget-based.
  • USER_TYPE: undefined — A build-time constant that was never set, causing User-Agent: (undefined, cli). We inject "external" at runtime.
  • Gates is not defined — A feature-flagged component referenced but never imported. Even wrapped in false ? ... : [], the assignment still evaluated and crashed.
  • Version mismatch — Attribution header checked cc_version, rejecting anything that didn't match the official release.

Every one of these was a dead end until we added file-based debug logging (/tmp/rabbit-code-debug.log) to capture the exact HTTP request/response cycle — because the TUI swallows all stderr output.

The moment it finally worked, we literally said "wow".

Now you can run the full Claude Code experience — with your own API key, your own OAuth, your own branding — completely open.

Quick Start

The fastest way to use Rabbit Code CLI is via npx:

npx rabbit-code-cli
# or shorthand
npx rabbit

Global Install

You can also install it globally via npm, pnpm, or bun:

# Using npm
npm install -g rabbit-code-cli

# Using pnpm
pnpm add -g rabbit-code-cli

# Using bun
bun add -g rabbit-code-cli

Usage

Once installed, you can start the CLI using either:

rabbit
# or
rabbit-code-cli

From Source

cd rabbit-code-cli
pnpm install
pnpm run build
bun run dev

That's it. You should see the RABBIT-CODE ASCII art logo and be ready to code.

Requires Node.js >= 18 (to run) and Bun >= 1.3.11 (to build from source), and an Anthropic API key or Claude Pro subscription.

What's Different

| | Official Claude Code | Rabbit Code CLI | |---|---|---| | Source code | Closed | Open | | Branding | Anthropic | Yours (or ours) | | API compatibility | Official only | Any Anthropic-compatible endpoint | | Experimental betas | All enabled | Stable subset only | | Feature flags | Server-controlled | All false (clean, no dead code paths) | | Customization | None | Full source access — hack everything |

Key patches we made

fix: disable experimental betas (prompt-caching-scope, redact-thinking, context-management)
fix: set USER_TYPE="external" for correct User-Agent
fix: convert adaptive thinking → budget-based for non-streaming fallback
fix: remove Gates component reference crash
fix: match version for attribution header compatibility

Features

Everything from Claude Code, minus the feature-flagged internal stuff:

  • Interactive REPL — Rich Ink-based terminal UI, streaming responses, vim mode
  • Multi-provider — Anthropic Direct, AWS Bedrock, Google Vertex, Azure Foundry
  • 43 Tools — File ops, bash, web search/fetch, glob/grep, agents, MCP, LSP
  • 100+ Commands/model, /compact, /doctor, /resume, /mcp, /plugin...
  • MCP Protocol — Full client with stdio, SSE, HTTP transports
  • Plugins & Skills — Extensible with custom commands and automation
  • Smart Context — Auto git status, CLAUDE.md, memory files, reactive compaction
  • Permissions — Granular plan/auto/manual tool permission modes
  • Hooks — Pre/post tool use hooks for custom workflows
  • Sessions — Resume, export, memory across conversations

Architecture

rabbit-code-cli/
├── src/
│   ├── entrypoints/cli.tsx    # Bootstrap + runtime polyfills
│   ├── screens/REPL.tsx       # 5000+ line interactive UI
│   ├── services/api/          # Multi-provider API (4 providers)
│   ├── services/mcp/          # MCP client (24 files, 12000+ lines)
│   ├── tools/                 # 43 tool implementations
│   ├── commands/              # 100+ slash commands
│   └── components/            # 146 Ink UI components
├── packages/                  # Internal workspace packages
├── build.ts                   # Code-splitting build (→ ~450 chunks)
└── rabbit-code-cli            # Launcher script

Contributing

Found a bug? Want to add a feature? PRs welcome.

This project exists because someone was crazy enough to decompile Claude Code, and we were crazy enough to debug it. If that resonates with you — star the repo, fork it, make it yours.

License

Apache-2.0