Install
All paths share one set of GoReleaser-built release artifacts (per-platform archives + a checksums.txt). Each install path verifies the SHA256 before installing — no Go toolchain required. Source, releases and issues live on GitHub (open source); you can also go install github.com/deemwar-products/agentproxy/cmd/agentproxy@latest.
brew install deemwar-products/agent-proxy/agentproxyOr with npm, on any of the three:
npm install -g @deemwario/agent-proxyThe installer places the binary and agent wrapper commands (claudeproxy, codexproxy, copilotproxy, opencodeproxy, devinproxy) on your PATH. To remove everything: ./uninstall.sh (macOS/Linux) or uninstall.bat (Windows).
Quickstart
From an installed binary to a routed agent run. Everything here happens locally — AgentProxy is free and open source, with no account and no license key.
agentproxy setup --open:7717) and opens the dashboard (:7718).agentproxy run claude 'summarise this codebase'agentproxy run codex 'fix the failing test'agentproxy run -- npm testclaudeproxy, codexproxy, copilotproxy, opencodeproxy, devinproxy) also work, or enable transparent mode (agentproxy shell enable) so plain claude/codex route through the proxy in every new shell with no wrapper at all. Each agent's own CLI must already be installed and authenticated — AgentProxy routes it, it doesn't install it.Next: agentproxy dashboard serves a live cost and masking view on 127.0.0.1:7718. Nothing is uploaded.
Configuration
AgentProxy reads a YAML config (default ./config/agentproxy.yaml, or ~/.agentproxy/agentproxy.yaml for an installed binary). Keys you'll actually touch:
| Key | What it controls |
|---|---|
| proxy.host / proxy.port | Listen address for the MITM proxy (default 127.0.0.1:7717) |
| detection.intercepted_domains | Which upstream hosts get MITM'd and scanned; everything else passes through untouched |
| detection.pattern_file | Secret-detection regex patterns (API keys, JWTs, connection strings, etc.) |
| pii.enabled | Optional PII scanning (email, phone, SSN, credit card, IP) — off by default |
| logging.log_originals | Debug-only; originals are never persisted to disk by default |
| upstream_proxy.* | Corporate upstream proxy (auto-detected from HTTP_PROXY/HTTPS_PROXY, or a PAC file) |
| budgets.file | Opt-in spend budgets — soft alerts by default, or hard-enforced (429) per limit |
| governance.allowed_models / risky_patterns | Warn-only policy guardrails surfaced in the dashboard and logs/governance.jsonl |
| looper.enabled | Same-provider "easy/hard" model routing to cut cost — never crosses providers |
Secrets referenced from your own config (e.g. ${OPENAI_API_KEY}) are read from your shell environment at runtime — never written to the config file itself. Inspect what's active any time: agentproxy config.
Providers & masking
Out of the box, these upstream hosts are intercepted and scanned (add more under detection.intercepted_domains):
api.anthropic.com— Claudeapi.openai.com,chatgpt.com— OpenAI / Codexapi.githubcopilot.comand related hosts — GitHub Copilotopencode.ai,openrouter.ai— opencodeapi.devin.ai,server.codeium.com— Devin
Masking is body-shape-agnostic — it scans any JSON/text body regardless of the agent's wire format — and is SSE- and WebSocket-delta-aware, so a secret split across streamed chunks or frames is still masked and correctly restored end-to-end.
Dashboard
A local dashboard runs alongside the proxy at http://127.0.0.1:7718, backed entirely by an in-memory event store (TTL ring, default 10 minutes) — nothing sensitive is written to disk. Open it with:
agentproxy dashboardIt shows live request/response traffic per session, token counts, model, and cost — and, when looper or governance are configured, routing decisions and policy flags too.
FAQ
- What does it cost?
- Nothing. AgentProxy is free and open source — every feature, no account, no license key, no trial clock. If you need deployment help, an SLA or custom masking patterns, talk to us about enterprise support.
- Does anything leave my machine?
- No. The proxy runs on your machines and talks only to your agents’ own providers. Prompts, API keys and traffic stay local; there is no telemetry and nothing phones home.
- Do I need to sign up for anything?
- No. Install it, run
agentproxy setup, and point your agent at it.
Troubleshooting
- HTTPS requests aren't being masked
- The proxy can't decrypt HTTPS until its CA is trusted. Run
agentproxy ca-setup(prints manual trust steps) ortask ca-setupfor OS-store trust. - A tool I run isn't being routed
- Wrappers/
agentproxy runscopeHTTP_PROXY/HTTPS_PROXYto that process only. Useagentproxy shell enablefor every new shell instead, or checkdetection.intercepted_domainsincludes the host you expect. - Copilot CLI isn't found
copilotproxyrequires the standalone Copilot CLI orgh extension install github/gh-copilot— it's not bundled withgh. The wrapper prints the exact install command if it's missing.- I want to remove transparent mode
- Run
agentproxy shell disable— it restores your shell profile byte-for-byte. - Full uninstall
./uninstall.sh(or--keep-trustto leave OS CA trust in place) —uninstall.baton Windows.