[0.1.1] - 2025-07-22
Added
- Conditional Authentication: API endpoints now support optional authentication - when
SECURITY__AUTH_TOKEN
is configured, authentication is enforced; when not configured, the proxy runs in open mode. - Startup Validation: Added comprehensive validation checks during application startup:
- Validates OAuth credentials and warns about expired tokens
- Checks for Claude CLI binary availability with installation instructions
- Logs token expiration time and subscription type when valid
- Default Command: The
serve
command is now the default - runningccproxy
without subcommands automatically starts the server. - Alternative Entry Point: Added
ccproxy-api
as an alternative command-line entry point.
Changed
- Authentication Variable: Renamed environment variable from
AUTH_TOKEN
toSECURITY__AUTH_TOKEN
for better namespace organization and clarity. - Credential Priority: Reordered credential search paths to prioritize ccproxy-specific credentials before Claude CLI paths.
- CLI Syntax: Migrated all CLI parameters to modern Annotated syntax for better type safety and IDE support.
- Pydantic v2: Updated all models to use Pydantic v2 configuration syntax (
model_config
instead ofConfig
class). - Documentation: Improved Aider integration docs with correct API endpoint URLs and added installation options (uv, pipx).
Fixed
- Authentication Separation: Fixed critical issue where auth token was incorrectly used for both client and upstream authentication - now client auth token is separate from OAuth credentials.
- URL Paths: Fixed documentation to use
/api
endpoints for Aider compatibility instead of SDK mode paths. - Default Values: Fixed default values for list parameters in CLI (docker_env, docker_volume, docker_arg).
Removed
- Status Endpoints: Removed redundant
/status
endpoints from both Claude SDK and proxy routes. - Permission Tool: Removed Claude permission tool functionality and related CLI options (
--permission-mode
,--permission-prompt-tool-name
) that are no longer needed. - Deprecated Options: Removed references to deprecated permission_mode and permission_prompt_tool_name from documentation.
[0.1.0] - 2025-07-21
This is the initial public release of the CCProxy API.
Added
Core Functionality
- Personal Claude Access: Enables using a personal Claude Pro, Team, or Enterprise subscription as an API endpoint, without needing separate API keys.
- OAuth2 Authentication: Implements the official Claude OAuth2 flow for secure, local authentication.
- Local Proxy Server: Runs a lightweight FastAPI server on your local machine.
- HTTP/HTTPS Proxy Support: Full support for routing requests through an upstream HTTP or HTTPS proxy.
API & Compatibility
- Dual API Support: Provides full compatibility with both Anthropic and OpenAI API specifications.
- Anthropic Messages API: Native support for the Anthropic Messages API at
/v1/chat/completions
. - OpenAI Chat Completions API: Compatibility layer for the OpenAI Chat Completions API at
/openai/v1/chat/completions
. - Request/Response Translation: Seamlessly translates requests and responses between OpenAI and Anthropic formats.
- Streaming Support: Real-time streaming for both Anthropic and OpenAI-compatible endpoints.
- Model Endpoints: Lists available models via
/v1/models
and/openai/v1/models
. - Health Check: A
/health
endpoint for monitoring the proxy's status.
Configuration & CLI
- Unified
ccproxy
CLI: A single, user-friendly command-line interface for managing the proxy. - TOML Configuration: Configure the server using a
config.toml
file with JSON Schema validation. - Keyring Integration: Securely stores and manages OAuth credentials in the system's native keyring.
generate-token
Command: A CLI command to manually generate and manage API tokens.- Systemd Integration: Includes a setup script and service template for running the proxy as a systemd service in production environments.
- Docker Support: A
Dockerfile
anddocker-compose.yml
for running the proxy in an isolated containerized environment.
Security
- Local-First Design: All processing and authentication happens locally; no conversation data is stored or transmitted to third parties.
- Credential Security: OAuth tokens are stored securely in the system keyring, not in plaintext files.
- Header Stripping: Automatically removes client-side
Authorization
headers to prevent accidental key leakage.
Developer Experience
- Comprehensive Documentation: Includes a quick start guide, API reference, and setup instructions.
- Pre-commit Hooks: Configured for automated code formatting and linting to ensure code quality.
- Modern Tooling: Uses
uv
for package management anddevenv
for a reproducible development environment. - Extensive Test Suite: Includes unit, integration, and benchmark tests to ensure reliability.
- Rich Logging: Structured and colorized logging for improved readability during development and debugging.