Skip to content

A robust proxy for Claude and GLM 4.5 Air, enabling shared agentic file operations.

Notifications You must be signed in to change notification settings

Saradhii/Claude-Code-Proxy

Repository files navigation

Claude Code Proxy - Claude Code to GLM-4.5-Air

A format conversion proxy server that enables using GLM-4.5-Air model with Claude Code CLI including full tool calling support.

What It Does

This proxy acts as a bridge between Claude Code and the GLM-4.5-Air model with format conversion:

  • ✅ Receives requests from Claude Code in Anthropic's Messages API format
  • ✅ Converts to OpenAI Chat Completions format
  • ✅ Forwards to GLM-4.5-Air API
  • ✅ Converts responses back to Anthropic format
  • Full tool calling support (Anthropic tool_use ↔ OpenAI tool_calls)
  • ✅ Handles both streaming and non-streaming responses
  • Comprehensive logging for debugging

Result: Use Claude Code with FREE GLM-4.5-Air model with full functionality!


Quick Start (NPM Installation)

3 simple steps to get started:

1. Install globally via npm

npm install -g claude-code-proxy

2. Start the proxy

claude-code-proxy              # Normal mode
claude-code-proxy --debug      # Debug mode (verbose logging)
claude-code-proxy --port 4000  # Custom port
claude-code-proxy --help       # Show all options

3. Configure Claude Code

In a new terminal:

export ANTHROPIC_AUTH_TOKEN="dummy"
export ANTHROPIC_BASE_URL="http://localhost:3333"
claude

That's it! Start using Claude Code with free Chutes GLM models.


Local Development Setup

  1. Install dependencies

    npm install
  2. Configure environment variables

    cp .env.example .env
    # Edit .env with your GLM-4.5-Air API credentials
  3. Start the proxy server

    Normal mode (minimal logging):

    npm run proxy

    Debug mode (verbose logging):

    npm run proxy:debug

Configure Claude Code

To use the proxy with Claude Code CLI:

Option 1: Using environment variables (Recommended)

export ANTHROPIC_AUTH_TOKEN="dummy"
export ANTHROPIC_BASE_URL="http://localhost:3333"
claude

Option 2: Update ~/.claude/settings.json

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "dummy",
    "ANTHROPIC_BASE_URL": "http://localhost:3333"
  }
}

Usage

  1. Start the proxy server (in one terminal):

    npm run proxy
    # or for debug mode with full logs:
    npm run proxy:debug
  2. Use Claude Code normally (in another terminal):

    export ANTHROPIC_AUTH_TOKEN="dummy"
    export ANTHROPIC_BASE_URL="http://localhost:3333"
    claude

    Claude Code will now use GLM-4.5-Air model with full tool calling support!

  3. To switch back to regular Claude:

    unset ANTHROPIC_AUTH_TOKEN ANTHROPIC_BASE_URL
    claude

Configuration

The proxy uses the following environment variables (in .env):

  • GLM_API_TOKEN: Your GLM-4.5-Air API token (required)
  • GLM_API_URL: GLM-4.5-Air API endpoint (default: https://llm.chutes.ai/v1/chat/completions)
  • GLM_MODEL: Model to use (default: zai-org/GLM-4.5-Air)
  • PORT: Proxy server port (default: 3333)

Features

Full tool calling support - Anthropic tool_use ↔ OpenAI tool_calls conversion ✅ Streaming responses - Real-time token-by-token output ✅ Comprehensive logging - Color-coded debug logs for troubleshooting ✅ Format conversion - Seamless Anthropic ↔ OpenAI translation ✅ Free GLM-4.5-Air API - Use GLM-4.5-Air at no cost ✅ Multiple models - Maps to Haiku, Sonnet, and Opus tiers ✅ TypeScript support - Full type definitions and IntelliSense support

Logging

The proxy provides color-coded logs for easy debugging:

  • 📥 Blue - Incoming requests from Claude Code
  • 🔄 Magenta - Format conversion operations
  • 📤 Cyan - Requests forwarded to Chutes API
  • Green - Successful operations
  • Red - Errors and failures
  • 🌊 Cyan - Streaming responses

Normal mode: Clean, minimal logs Debug mode: Full request/response bodies and conversion details

Documentation

  • RESEARCH.md - Complete research findings and solution approaches
  • TEST-RESULTS.md - GLM-4.5-Air API test results
  • TESTING-GUIDE.md - Comprehensive guide for testing and debugging the proxy
  • TYPESCRIPT.md - TypeScript usage guide and type definitions

Support

For issues or inquiries, contact: saradhi8142385201@gmail.com

License

MIT

About

A robust proxy for Claude and GLM 4.5 Air, enabling shared agentic file operations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published