#!/usr/bin/env bash # claude-glm — Run Claude Code with GLM backend # # Usage: # claude-glm [args...] # # Setup API key (reuse existing): # macOS: # security add-generic-password -a "$USER" -s GLM_API_KEY -w "YOUR_KEY" # Linux: # echo "YOUR_KEY" | secret-tool store --label "GLM API Key" service GLM_API_KEY KEY_NAME="GLM_API_KEY" get_token() { if command -v security >/dev/null 2>&1; then security find-generic-password -s "$KEY_NAME" -w 2>/dev/null && return fi if command -v secret-tool >/dev/null 2>&1; then secret-tool lookup service "$KEY_NAME" 2>/dev/null && return fi return 1 } TOKEN=$(get_token) if [ -z "$TOKEN" ]; then echo "❌ Missing GLM token ($KEY_NAME)" exit 1 fi export ANTHROPIC_BASE_URL="https://api.z.ai/api/anthropic" export ANTHROPIC_AUTH_TOKEN="$TOKEN" export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm-4.5-air" export ANTHROPIC_DEFAULT_SONNET_MODEL="glm-5.1" export ANTHROPIC_DEFAULT_OPUS_MODEL="glm-5.1" echo "→ Backend: GLM" exec claude "$@"