Installation¶
Prerequisites¶
- Python 3.11 or higher
- Claude account with active subscription (Pro, Team, or Enterprise)
Installation Methods¶
Using pipx (Recommended)¶
The easiest way to install ccproxy is using pipx, which installs it in an isolated environment:
# Install pipx if you haven't already
python -m pip install --user pipx
python -m pipx ensurepath
# Install ccproxy
pipx install git+https://github.com/CaddyGlow/ccproxy-api.git
From Source (Development)¶
git clone https://github.com/CaddyGlow/ccproxy-api.git
cd ccproxy-api
# Using uv (recommended for development)
uv sync
# Or using pip
pip install -e .
Authentication Setup¶
After installation, you need to authenticate based on your usage mode:
Claude CLI Authentication (Claude Code Mode)¶
For using Claude Code features:
Credential Storage:
- Stored at: ~/.claude/credentials.json
or ~/.config/claude/credentials.json
- Managed by Claude CLI directly
CCProxy Authentication (API Mode)¶
For using API mode with Anthropic OAuth2:
This will open a browser window for Anthropic OAuth2 authentication.
Credential Storage:
- Primary: System keyring (secure, recommended)
- Fallback: ~/.config/ccproxy/credentials.json
Verify CCProxy Authentication¶
Example output:
Claude Credentials Validation
Credential Status
╭──────────────┬───────────────────────────────────────────╮
│ Property │ Value │
├──────────────┼───────────────────────────────────────────┤
│ Status │ Valid │
│ Subscription │ max │
│ Expires │ 2025-07-08 17:13:05 UTC (0d 5h remaining) │
│ Scopes │ user:inference, user:profile │
╰──────────────┴───────────────────────────────────────────╯
success ✓ Valid Claude credentials found
View Credential Details¶
This displays full credential details including storage location and automatically renews the token if expired.
Configuration¶
Option 1: Local Installation¶
After authentication, test the installation: ccproxy claude -- /status
### Option 2: Docker (Recommended)
Use Docker with included Claude CLI (no local installation needed):
**Volume Configuration:**
- **Claude Home**: `~/.config/cc-proxy/home` (isolated from local Claude config)
- **Working Directory**: Current user path (same as local execution)
**Authentication:**
```bash
# Authenticate Claude in Docker (first time setup)
ccproxy claude --docker -- auth login
Verification:
Expected Output¶
For both options, ccproxy claude -- /status
or ccproxy claude --docker -- /status
should show:
Executing: /path/to/claude /status
╭─────────────────────────────────────────────────────────╮
│ ✻ Welcome to Claude Code! │
│ │
│ /help for help, /status for your current setup │
╰─────────────────────────────────────────────────────────╯
Claude Code Status v1.0.43
Account • /login
L Login Method: Claude Max Account
L Organization: your-email@example.com's Organization
L Email: your-email@example.com
Model • /model
L sonnet (claude-sonnet-4-20250514)
This confirms:
- Claude CLI is properly installed and accessible (local or Docker)
- Your authentication is working
- The proxy can detect and use Claude CLI
- Docker: Uses isolated config at ~/.config/cc-proxy/home
Quick Start¶
Run the server:
The server will start on http://localhost:8000
by default.