█████╗ ███╗ ██╗██╗ ██╗██╗ ██╗ ███╗ ███╗ ██╔══██╗████╗ ██║╚██╗ ██╔╝██║ ██║ ████╗ ████║ ███████║██╔██╗ ██║ ╚████╔╝ ██║ ██║ ██╔████╔██║ ██╔══██║██║╚██╗██║ ╚██╔╝ ██║ ██║ ██║╚██╔╝██║ ██║ ██║██║ ╚████║ ██║ ███████╗███████╗██║ ╚═╝ ██║ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝██████╗ ██████╗ ██████╗ ██╗ ██╗██╗ ██╗ ██╔══██╗██╔══██╗██╔═══██╗╚██╗██╔╝╚██╗ ██╔╝ ██████╔╝██████╔╝██║ ██║ ╚███╔╝ ╚████╔╝ ██╔═══╝ ██╔══██╗██║ ██║ ██╔██╗ ╚██╔╝ ██║ ██║ ██║╚██████╔╝██╔╝ ██╗ ██║ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝
The anyllm-proxy administration WebUI dashboard and settings.
An API translation proxy that lets Anthropic-based tools (Claude Code, Cursor, Windsurf, Cline) talk to any OpenAI-compatible backend, local LLM, or alternative provider. Similar to ccrouter, it has equivilent providers with LiteLLM and includes other features like RTK, FFEC, and Forge Tool-Call Guardrails.
macOS (Homebrew):
brew install whit3rabbit/tap/anyllm-proxy
Linux (Debian/Ubuntu):
# Check https://github.com/whit3rabbit/anyllm-proxy/releases for the current filename
curl -LO https://github.com/whit3rabbit/anyllm-proxy/releases/latest/download/anyllm-proxy_0.16.0-1_amd64.deb
sudo dpkg -i anyllm-proxy_*.deb
sudo systemctl enable --now anyllm-proxy
# Configure: edit /etc/default/anyllm-proxy
Binary (all platforms): Download from the releases page.
# Cargo
cargo install anyllm_proxy
# Build from source
cargo build -p anyllm_proxy --release
# Docker
docker run -d -p 3000:3000 -p 127.0.0.1:3001:3001 -e WEBUI=1 -e ADMIN_BIND=0.0.0.0 followthewhit3rabbit/anyllm-proxy:latest
Running anyllm-proxy with no arguments is the easiest way to get started. It automatically launches the proxy server, starts the local administration dashboard, and opens it in your default web browser:
anyllm-proxy
# Proxy: http://localhost:3000
# Admin UI: http://127.0.0.1:3001/admin/ (opened automatically, token pre-filled)
ANTHROPIC_BASE_URL=http://localhost:3000 ANTHROPIC_API_KEY=proxy-user \
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=true claude
The gateway discovery flag makes Claude Code fetch the proxy's /v1/models, so its /model picker lists the real backend models you configured (especially with the Auto Router, where each pick routes straight to that model). The Auto Router tab also gives you a copy-paste version of this command.http://localhost:3000.By default, the proxy runs on port 3000 and the WebUI on port 3001. You can customize these using the LISTEN_PORT and ADMIN_PORT environment variables:
LISTEN_PORT=4000 ADMIN_PORT=4001 anyllm-proxy
On first startup, the proxy prints the auto-generated admin auth token to the terminal (and saves it in ~/.anyllm/.admin_token), which you can use to access the dashboard or authenticate admin API requests.
If you prefer running strictly via CLI flags, environment variables, or TOML/YAML config files, see CLI Reference.
You can toggle and configure advanced options directly within the Settings tab of the Admin WebUI:
The admin WebUI (running on port 3001 by default) includes:
.env templates, and toggle superpowers.tool_use/tool_result translation.POST /v1/chat/completions endpoint for OpenAI-native clients.POST /v1/embeddings to your configured backend.--features otel).anyllm_translate / anyllm_client).MIT
Rust
92.3%
TypeScript
4.9%
Python
1.6%
█████╗ ███╗ ██╗██╗ ██╗██╗ ██╗ ███╗ ███╗ ██╔══██╗████╗ ██║╚██╗ ██╔╝██║ ██║ ████╗ ████║ ███████║██╔██╗ ██║ ╚████╔╝ ██║ ██║ ██╔████╔██║ ██╔══██║██║╚██╗██║ ╚██╔╝ ██║ ██║ ██║╚██╔╝██║ ██║ ██║██║ ╚████║ ██║ ███████╗███████╗██║ ╚═╝ ██║ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝██████╗ ██████╗ ██████╗ ██╗ ██╗██╗ ██╗ ██╔══██╗██╔══██╗██╔═══██╗╚██╗██╔╝╚██╗ ██╔╝ ██████╔╝██████╔╝██║ ██║ ╚███╔╝ ╚████╔╝ ██╔═══╝ ██╔══██╗██║ ██║ ██╔██╗ ╚██╔╝ ██║ ██║ ██║╚██████╔╝██╔╝ ██╗ ██║ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝
The anyllm-proxy administration WebUI dashboard and settings.
An API translation proxy that lets Anthropic-based tools (Claude Code, Cursor, Windsurf, Cline) talk to any OpenAI-compatible backend, local LLM, or alternative provider. Similar to ccrouter, it has equivilent providers with LiteLLM and includes other features like RTK, FFEC, and Forge Tool-Call Guardrails.
macOS (Homebrew):
brew install whit3rabbit/tap/anyllm-proxy
Linux (Debian/Ubuntu):
# Check https://github.com/whit3rabbit/anyllm-proxy/releases for the current filename
curl -LO https://github.com/whit3rabbit/anyllm-proxy/releases/latest/download/anyllm-proxy_0.16.0-1_amd64.deb
sudo dpkg -i anyllm-proxy_*.deb
sudo systemctl enable --now anyllm-proxy
# Configure: edit /etc/default/anyllm-proxy
Binary (all platforms): Download from the releases page.
# Cargo
cargo install anyllm_proxy
# Build from source
cargo build -p anyllm_proxy --release
# Docker
docker run -d -p 3000:3000 -p 127.0.0.1:3001:3001 -e WEBUI=1 -e ADMIN_BIND=0.0.0.0 followthewhit3rabbit/anyllm-proxy:latest
Running anyllm-proxy with no arguments is the easiest way to get started. It automatically launches the proxy server, starts the local administration dashboard, and opens it in your default web browser:
anyllm-proxy
# Proxy: http://localhost:3000
# Admin UI: http://127.0.0.1:3001/admin/ (opened automatically, token pre-filled)
ANTHROPIC_BASE_URL=http://localhost:3000 ANTHROPIC_API_KEY=proxy-user \
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=true claude
The gateway discovery flag makes Claude Code fetch the proxy's /v1/models, so its /model picker lists the real backend models you configured (especially with the Auto Router, where each pick routes straight to that model). The Auto Router tab also gives you a copy-paste version of this command.http://localhost:3000.By default, the proxy runs on port 3000 and the WebUI on port 3001. You can customize these using the LISTEN_PORT and ADMIN_PORT environment variables:
LISTEN_PORT=4000 ADMIN_PORT=4001 anyllm-proxy
On first startup, the proxy prints the auto-generated admin auth token to the terminal (and saves it in ~/.anyllm/.admin_token), which you can use to access the dashboard or authenticate admin API requests.
If you prefer running strictly via CLI flags, environment variables, or TOML/YAML config files, see CLI Reference.
You can toggle and configure advanced options directly within the Settings tab of the Admin WebUI:
The admin WebUI (running on port 3001 by default) includes:
.env templates, and toggle superpowers.tool_use/tool_result translation.POST /v1/chat/completions endpoint for OpenAI-native clients.POST /v1/embeddings to your configured backend.--features otel).anyllm_translate / anyllm_client).MIT
Rust
92.3%
TypeScript
4.9%
Python
1.6%