Skip to main content

Claude Provider

Access Anthropic Claude models via OAuth authentication with automatic token management and seamless multi-account support.

Quick Start

Authentication

Initial Setup

1

First Run

Run ccs claude "your prompt" - browser opens automatically
2

Claude OAuth

Sign in with your Claude account (requires Claude Pro/Max subscription)
3

Token Cached

OAuth token saved to ~/.ccs/cliproxy/auth/claude-{email}.json
4

Auto Refresh

Token refreshes automatically 5 minutes before expiry

OAuth Flow Specifics

Authorization Code Flow:
  • Callback server spawns on port 54545
  • Browser opens for Claude OAuth consent
  • Token received via HTTP callback
  • Auto-refresh prevents mid-request failures
Proactive Token Refresh:
  • Checks expiry_date before each execution
  • Refreshes 5 minutes before expiry (matches CLIProxyAPI)
  • Prevents UND_ERR_SOCKET errors during long sessions
  • Graceful re-auth prompt if refresh fails

Headless Authentication

For servers without browser access:
Complete OAuth on another device - CCS detects when token is cached.

Multi-Account Support

Manage multiple Claude accounts seamlessly:
Account Registry: ~/.ccs/cliproxy/accounts.json

Commands Reference

Basic Usage

Authentication Commands

Account Management

Configuration

Config Keys

Configure via ~/.ccs/config.yaml:

Environment Variables

These are set automatically by CCS. Manual override rarely needed.

Storage Locations

Requirements

  • Claude Pro or Claude Max subscription
  • Browser for OAuth (or --headless for servers)
  • Network access to Claude authentication servers

Token Management

Storage Format:
Auto-Refresh: Tokens refresh automatically 5 minutes before expiry Security: Tokens stored locally, never transmitted except to Anthropic

Troubleshooting

Token Refresh Failures

Symptom: UND_ERR_SOCKET errors during execution Cause: Token expired mid-request Solution: Proactive refresh handles this automatically. If issue persists:

Browser Doesn’t Open

Symptom: OAuth flow stuck waiting for browser Solution: Use headless mode:

Multiple Accounts Confusion

Symptom: Wrong account being used Solution: Check default account:

Quota Windows

Claude OAuth uses rolling quota windows that CCS tracks for automatic account rotation: Failover behavior: When a Claude OAuth account hits its quota, CCS automatically fails over to the next available account in the rotation (if multiple accounts configured). View quota status with:
To turn several Claude accounts into a pool that auto-continues a single conversation across the limit (fill-first plus session affinity), see Account Pools. That page covers the three-command setup, the slower turn right after a failover hop, leaving a pool, and migrating from native profiles.

Cost Information

Claude provider requires an active Claude Pro or Max subscription. Free tier accounts are not supported.

Advanced Features

Isolated Instances

Each named account (ccs auth create <name>) gets its own directory:
This enables running two accounts simultaneously without session conflicts.

Shared Context Groups

Opt in to sharing context across accounts:
See Claude Accounts for full details.

Deeper Continuity

Next Steps

Claude Accounts

Full guide to multiple Claude account management

Provider Overview

Compare all available providers

Remote Proxy

Connect to external CLIProxy server

Configuration

Config file reference