openzoo-claude
v2.0.2
Published
OpenZoo Claude Code CLI — pay-per-call via local zoo proxy (subscription Bearer or x402, no Anthropic API key)
Maintainers
Readme
Automated Nightly Releases — Open Claude Code automatically detects new Claude Code releases, runs 903+ tests to verify zero regressions, and publishes verified builds with AI-powered discovery analysis. See Releases | ADR-001 | pi.ruv.io
⚡ Quick Start
This repo is the product. claude / occ / openzoo-claude are this CLI — not Anthropic's bun binary, not a wrapper around official claude.
# From this repo (Silicon / local)
npm i -g .
# or from npm once published
npm i -g openzoo-claude
# Sidecar must be healthy first
# (npx openzoo in another terminal — public door https://openzoo.fun)
occ -p hi
claude -p hiPay lanes (never ANTHROPIC_API_KEY):
- Stripe subscription key in
~/.openzoo/subscription.json(orOPENZOO_SUBSCRIPTION_KEY) →Authorization: Bearer <key>. Billing: https://zoo.openzoo.fun - Else x402 via the local sidecar on
:8402. Empty wallet is a pay wall, not a retry.
When :8402/v1/info answers, this CLI applies the zoo env itself:
ANTHROPIC_BASE_URL=http://localhost:8402/v1
ANTHROPIC_AUTH_TOKEN=<subscription key or sk-openzoo>
ANTHROPIC_API_KEY unset
DISABLE_COMPACT=1
DISABLE_AUTO_COMPACT=1
CLAUDE_CODE_MAX_CONTEXT_TOKENS=1000000sk-openzoo is a dummy gateway token for the local proxy — not an Anthropic key.
If an official Anthropic claude binary is also installed, keep it as claude-anthropic. A global install of this package is what claude becomes.
# Documented recipe (API key must stay unset)
unset ANTHROPIC_API_KEY
export ANTHROPIC_BASE_URL=http://127.0.0.1:8402/v1
export ANTHROPIC_AUTH_TOKEN=sk-openzoo # or your subscription key
occ -p "hi"🧠 What Is This?
Open Claude Code is a ground-up open source rebuild of Anthropic's Claude Code CLI, informed by ruDevolution's AI-powered decompilation of the published npm package.
It's not a copy — it's a clean-room implementation that mirrors the actual Claude Code architecture: async generator agent loop, 25 tools, 4 MCP transports, 6 permission modes, hooks, settings chain, sessions, and more.
1,581 tests. 61 files. 8,314 lines. 100% functional.
📦 Installation
git clone https://github.com/staccDOTsol/open-claude-code.git
cd open-claude-code
npm i -g .
# bins: openzoo-claude, occ, claudeOr npm i -g openzoo-claude after publish. The openzoo package's claude subcommand only installs (if missing) and execs this package.
🖥️ Usage
One-shot mode
occ "explain the auth module"
occ "fix the bug in server.js"
occ "create a REST API for user management"
occ "find all TODO comments in this project"Interactive REPL
occ
# > explain this codebase
# > /help
# > /tools
# > /model claude-opus-4-6
# > refactor the database layer
# > /cost
# > /exitCLI Options
occ [options] [prompt]
Options:
-m, --model <model> Model to use (never pass openzoo/auto)
-p, --print Print mode (boolean). Prompt is positional.
--permission-mode <mode> Permission mode: default, auto, plan, acceptEdits,
bypassPermissions, dontAsk
--system-prompt <text> Override system prompt
--add-dir <path> Additional CLAUDE.md directory
--max-turns <n> Maximum conversation turns
--allowedTools <tools> Comma-separated allowed tools
--disallowedTools <tools> Comma-separated denied tools
--output-format <fmt> Output: text, json, stream-json
-v, --verbose Verbose output
-d, --debug Debug mode
--version Show version
-h, --help Show helpExamples
# Use a different model
occ -m claude-opus-4-6 "design a database schema for a blog"
# Print mode (boolean -p; prompt is positional — official Claude shape)
occ -p "list all functions in src/" > functions.txt
occ --print --output-format stream-json "hello"
# Plan mode (read-only, no edits)
occ --permission-mode plan "review the security of auth.js"
# Restrict tools
occ --allowedTools "Read,Glob,Grep" "find all API endpoints"
# With custom system prompt
occ --system-prompt "You are a senior Go developer" "review main.go"🔧 Interactive Commands
40 slash commands available in REPL mode:
| Command | Description |
|---------|-------------|
| /help | Show all commands |
| /model <name> | Switch model mid-conversation |
| /tools | List available tools |
| /tokens | Show current token usage |
| /cost | Show session cost estimate |
| /compact | Compact context window |
| /undo | Undo last file edit |
| /clear | Clear conversation history |
| /doctor | Check API connectivity + health |
| /fast | Toggle fast mode (Haiku) |
| /effort <level> | Set effort: low, medium, high, max |
| /resume [id] | Resume a previous session |
| /sessions | List saved sessions |
| /agents | List custom agents |
| /skills | List available skills |
| /hooks | Show active hooks |
| /config | Show current settings |
| /permissions | Show permission mode |
| /mcp | Show MCP server status |
| /memory | Show memory usage |
| /exit | Exit |
🔨 Tools
25 built-in tools matching Claude Code's tool system:
| Tool | Description | |------|-------------| | Bash | Execute shell commands (sandboxed) | | Read | Read files with line numbers | | Edit | Replace strings in files | | Write | Create/overwrite files | | Glob | Find files by pattern | | Grep | Search file contents (regex) | | LS | List directory contents | | Agent | Spawn sub-agents | | WebFetch | Fetch URL content | | WebSearch | Web search | | TodoWrite | Task management | | NotebookEdit | Edit Jupyter notebooks | | MultiEdit | Atomic multi-file edits | | ToolSearch | Discover deferred tools | | AskUser | Prompt user for input | | Skill | Invoke a skill | | SendMessage | Agent team messaging | | CronCreate/Delete/List | Scheduled tasks | | EnterWorktree/ExitWorktree | Git worktree isolation | | RemoteTrigger | Remote execution | | LSP | Language server protocol | | ReadMcpResource | Read MCP resources |
⚙️ Configuration
Settings
Create .claude/settings.json in your project or ~/.claude/settings.json globally:
{
"model": "claude-sonnet-4-6",
"permissions": {
"defaultMode": "auto"
},
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{ "type": "command", "command": "echo 'Running bash...'" }]
}]
},
"autoCompactEnabled": true,
"alwaysThinkingEnabled": true
}Settings are loaded from 4 sources (in priority order):
.claude/settings.local.json(local, gitignored).claude/settings.json(project, shared)~/.claude/settings.json(user global)- Managed policy (enterprise)
CLAUDE.md
Create a CLAUDE.md in your project root to customize behavior:
# Project Rules
- Always use TypeScript
- Follow TDD
- Keep files under 500 linesCLAUDE.md files are loaded from: ~/.claude/CLAUDE.md → parent directories → project root → .claude/CLAUDE.md.
Custom Agents
Create .claude/agents/reviewer.md:
---
name: reviewer
description: Code review specialist
model: claude-sonnet-4-6
tools: [Read, Glob, Grep]
---
You are a thorough code reviewer. Check for bugs, security issues, and style.Skills
Create .claude/skills/deploy/SKILL.md:
---
name: deploy
description: Deploy to production
---
1. Run tests: npm test
2. Build: npm run build
3. Deploy: ./scripts/deploy.shInvoke with /deploy in the REPL.
🔐 Multi-Provider Support
Works with 5 AI providers:
# Anthropic (default)
ANTHROPIC_API_KEY=... occ "hello"
# OpenAI
OPENAI_API_KEY=... occ -m gpt-4o "hello"
# Google
GOOGLE_AI_API_KEY=... occ -m gemini-2.5-flash "hello"
# AWS Bedrock
AWS_ACCESS_KEY_ID=... AWS_SECRET_ACCESS_KEY=... occ -m bedrock/claude-sonnet "hello"
# Google Vertex
GOOGLE_APPLICATION_CREDENTIALS=... occ -m vertex/claude-sonnet "hello"🔗 MCP Integration
Connect to MCP servers for additional tools:
// .mcp.json
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["-y", "my-mcp-server"],
"env": { "API_KEY": "..." }
}
}
}Supports 4 transports: stdio, SSE, Streamable HTTP, WebSocket.
🔍 Background: The Claude Code Source Leak
On March 31, 2026, Anthropic accidentally shipped source maps in the Claude Code npm package, exposing the full TypeScript source. This project takes a different approach — we use ruDevolution to analyze the published npm package legally and rebuild from that intelligence.
What ruDevolution Found
| Discovery | Evidence |
|-----------|---------|
| 🤖 Agent Teams | CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS |
| 🌙 Auto Dream Mode | tengu_auto_dream_completed |
| 🔮 claude-opus-4-6 | Unreleased model ID |
| 🔐 6 "amber" codenames | Internal feature gates |
| ☁️ Cloud Code Runner | BYOC compute |
| 📡 MCP Streamable HTTP | New transport |
Download decompiled releases →
⚖️ Legal
This is a clean-room implementation — no leaked source used. Architecture informed by analysis of the published npm package, legal under US DMCA §1201(f), EU Software Directive Art. 6, UK CDPA §50B.
📚 Related
- ruDevolution — AI-Powered JavaScript Decompiler
- Decompiled Releases — Every Claude Code version
- v2 Architecture (ADR-001)
- Path to 100% (ADR-002)
Automated Nightly Verified Releases (ADR-001)
Open Claude Code includes an automated nightly CI/CD pipeline that:
- Detects new Claude Code releases from npm registry (03:00 UTC daily)
- Verifies compatibility with 903+ tests, npm audit, and smoke tests
- Analyzes changes using Claude Sonnet 4.6 AI-powered discovery
- Publishes verified releases with detailed notes — only if ALL gates pass
Cron 03:00 UTC → npm check → 903+ tests → npm audit → AI analysis → verified releaseManual trigger:
gh workflow run nightly.yml -f force_release=trueRequired secrets:
GITHUB_TOKEN— automaticANTHROPIC_API_KEY— optional, for AI discovery analysis
See ADR-001 for full architecture.
rudevolution Integration
The rudevolution submodule provides AI-powered decompilation analysis of Claude Code releases, tracking 34,759+ functions with 95.7% name accuracy. Used by the nightly pipeline for change discovery.
📄 License
MIT
