Installs into .claude/skills of the current project.
Are you the author of Claude Better Cli?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/reason-machines-claude-better-cli)
---
name: claude-better-cli
description: Compatibility-first Claude CLI reimplementation with faster startup, lower memory, and drop-in command compatibility
triggers:
- use claude-better
- faster claude cli
- claude cli startup performance
- replace claude cli with claude-better
- claude-better harness
- drop-in claude cli replacement
- optimize claude cli memory usage
- claude-better compatibility
---
# claude-better
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
`claude-better` is a compatibility-first reimplementation of the Claude CLI focused on aggressive performance improvements: up to 73% faster startup and up to 80% lower resident memory, while maintaining 100% command-level compatibility with the original Claude CLI.
## What It Does
- **Faster cold starts**: `--help` goes from 182ms → 49ms; `chat` session bootstrap from 311ms → 102ms
- **Lower memory**: sustained interactive sessions drop from ~412MB → ~83MB RSS
- **Drop-in compatible**: 100% pass rate on primary command forms, 100% exit-code match, 98.7% byte-for-byte output parity
- **Zero migration cost**: existing scripts, aliases, and muscle memory continue to work unchanged
## Availability
> ⚠️ Source code is provided for selected high-profile customers only and available upon request. Contact the maintainer at [krzyzanowskim/claude-better](https://github.com/krzyzanowskim/claude-better) for access.
If you have access, install as described in your onboarding materials. The binary is a drop-in replacement — substitute it wherever you invoke `claude`.
## Installation (Once You Have Access)
```bash
# Typical binary drop-in replacement pattern
# Place the claude-better binary in your PATH before the original claude
export PATH="/path/to/claude-better/bin:$PATH"
# Verify it's being picked up
which claude
claude --version
```
```bash
# Or alias it explicitly without touching PATH
alias claude='/path/to/claude-better/bin/claude-better'
```
## Key Commands
`claude-better` mirrors the Claude CLI surface exactly. All commands you know work as-is:
```bash
# Show help (cold start: ~49ms vs 182ms baseline)
claude --help
# Check auth status (warm start: ~58ms vs 146ms baseline)
claude auth status
# Start an interactive chat session (~102ms bootstrap vs 311ms baseline)
claude chat
# One-shot non-interactive command (~131ms vs 428ms baseline)
claude -p "Summarize this file" < input.txt
# All standard flags pass through unchanged
claude --model claude-opus-4-5 chat
claude --output-format json -p "List 3 facts about Rust"
```
## Configuration
`claude-better` reads the same configuration as the original Claude CLI. No new config format is required.
```bash
# Standard Claude CLI env vars are respected
export ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY
# The tool reads ~/.claude/ config directory as normal
# No migration of config files needed
```
## Performance Characteristics
| Scenario | Baseline | claude-better | Improvement |
|---|---|---|---|
| `--help` cold start | 182ms | 49ms | 73% faster |
| `auth status` warm | 146ms | 58ms | 60% faster |
| `chat` bootstrap | 311ms | 102ms | 67% faster |
| One-shot command | 428ms | 131ms | 69% faster |
| RSS after 30min session | 412MB | 83MB | 80% less |
| Streaming jitter p95 | 91ms | 24ms | 74% lower |
## Scripting Patterns
Since compatibility is 100%, all existing scripting patterns work unchanged:
```bash
#!/usr/bin/env bash
# Existing Claude CLI scripts work without modification
# Non-interactive pipeline usage
echo "Explain this error:" | cat - error.log | claude -p /dev/stdin
# Exit code handling (100% compatible)
if claude auth status; then
echo "Authenticated"
else
echo "Not authenticated — run: claude auth login"
exit 1
fi
# JSON output parsing
claude --output-format json -p "What is 2+2?" | jq '.content'
```
```bash
#!/usr/bin/env bash
# Long-lived interactive session — memory pressure is significantly reduced
# Useful on memory-constrained machines (laptops, CI runners)
claude chat
```
## Compatibility Notes
- **CLI surface**: 100% compatible with targeted Claude CLI command forms
- **Exit codes**: 100% match on documented exit-code behavior
- **Output parity**: 98.7% byte-for-byte; 100% semantic parity after whitespace/timestamp/terminal-width normalization
- **Tested environments**: macOS (Apple Silicon), Linux, containerized CI
- **Tested against**: 1,200 synthetic invocations, 87 flag combinations, 42 interactive flows, 14 failure-mode scenarios
## Troubleshooting
**Binary not found after install**
```bash
# Ensure claude-better/bin is earlier in PATH than original claude
echo $PATH | tr ':' '\n' | grep -n claude
which claude # should point to claude-better
```
**Unexpected output differences**
```bash
# 1.3% of outputs differ before normalization (timestamps, whitespace, terminal width)
# If a script breaks on exact output matching, add normalization:
claude -p "..." | tr -s ' ' | sed 's/[[:space:]]*$//'
```
**Auth not recognized**
```bash
# claude-better reads the same auth store as the original CLI
# If auth fails, re-authenticate via the standard flow:
claude auth login
```
**Falling back to original CLI**
```bash
# If you hit an edge case, unset the alias/PATH change to revert instantly
unalias claude
# or
export PATH="<original-path-without-claude-better>"
```
## Architecture Notes (For Contributors / Evaluators)
The performance gains come from specific implementation choices documented in the README:
- **Zero-copy streaming pipeline** for token output (reduces streaming jitter)
- **Precomputed command registry** instead of dynamic startup discovery (cuts cold-start time)
- **Aggressively bounded allocation** for session state (drives memory reduction)
- **Lazy subsystem initialization** — only the active command path pays startup cost
- **Compatibility shim layer** that preserves flags/behavior without carrying the full original stack