Install local middleware proxies into Claude Code
Project description
cc-guard
Install local middleware proxies into Claude Code.
Not to be confused with
agent-guard— that's a runtime security engine for AI agents. This is a config installer.
What it does
Point Claude Code at any local anthropic-compatible proxy (flowlens sidecar,
litellm, mitmproxy, anthropic-proxy, …) by modifying ~/.claude/settings.json,
and back it out cleanly when you're done. Optionally, spawn and supervise the
proxy subprocess for you.
# A. Bring your own proxy — cc-guard just patches settings.json
flow run -c ~/.flowlens/sidecar.yaml &
cc-guard install http://127.0.0.1:9999
# ...
cc-guard uninstall
# B. Let cc-guard generate the sidecar config AND spawn the process
cc-guard install http://127.0.0.1:9999 --sidecar
# or against a remote flowlens hub for centralized audit:
cc-guard install http://127.0.0.1:9999 \
--hub https://hub.example.com --hub-token $TOKEN
Your ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN are passed through untouched
in both modes — cc-guard never reads, stores, or rewrites credentials.
Why not just edit ~/.claude/settings.json by hand
Several things need to happen together for the redirect to actually stick:
- Back up the original
ANTHROPIC_BASE_URLso uninstall can restore it (otherwise you lose whatever was there before). - Clean conflicting
export ANTHROPIC_BASE_URL=...lines in your shell rc file, since shell env vars overridesettings.json. - Atomic writes so a
Ctrl-Cmid-edit doesn't corrupt your settings. - Idempotent install/uninstall so running it twice doesn't double-backup or crash.
cc-guard does all of this, and provides doctor and status commands
for checking things after the fact.
Design principles
- Proxy-agnostic — any anthropic-compatible local proxy works; nothing is hard-coded to one implementation.
- Never touches credentials —
ANTHROPIC_AUTH_TOKENandANTHROPIC_API_KEYpass through unchanged. The proxy forwards them to the real upstream. - Clean uninstall — every change is backed up before it's made, and the optional managed sidecar is SIGTERM'd cleanly on uninstall.
- Idempotent — repeat install/uninstall safely.
- Plain installer by default — sidecar spawning is strictly opt-in via
--sidecar/--hub/--sidecar-config. No background processes unless you asked.
Install
The PyPI package is cc-guardian (the short cc-guard name was too close
to an unrelated ccguard project, so PyPI forced a rename). The CLI command
is still cc-guard.
uv tool install cc-guardian
# or, to also get managed-sidecar support (pulls flowlens + psutil on Windows):
uv tool install "cc-guardian[sidecar]"
# or
pipx install cc-guardian
# or
pip install --user cc-guardian
Two commands are installed: cc-guard (full name) and ccg (short alias).
Platforms: Linux, macOS, Windows. The plain installer is fully cross-platform;
the managed sidecar uses start_new_session on POSIX and DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP on Windows. Shell rc cleanup is POSIX-only (no
equivalent concept in cmd.exe / PowerShell).
Commands
| Command | Purpose |
|---|---|
cc-guard install URL |
Point Claude Code at URL (plain mode) |
cc-guard install URL --sidecar |
+ spawn a local flowlens sidecar |
cc-guard install URL --hub HUB --hub-token TOK |
+ attach to a remote hub |
cc-guard uninstall |
Restore previous settings, stop managed sidecar |
cc-guard status |
Show current install state + sidecar liveness |
cc-guard doctor |
Run diagnostic checks |
cc-guard (no args) |
Interactive wizard |
See cc-guard <command> --help for all options, or read
docs/execution-logic.md for the wire flow.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cc_guardian-0.0.3.tar.gz.
File metadata
- Download URL: cc_guardian-0.0.3.tar.gz
- Upload date:
- Size: 212.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69c1ac2722f50ba675fccf4f24d2a19df574a7d9066c2b8f9376466fd9dbfafa
|
|
| MD5 |
6200acf9d7a6c7228ea012c31c736b34
|
|
| BLAKE2b-256 |
159d6844d45a1e4b05a2e943e1515b28f06b50466fd860c149dee79d6a0f298b
|
File details
Details for the file cc_guardian-0.0.3-py3-none-any.whl.
File metadata
- Download URL: cc_guardian-0.0.3-py3-none-any.whl
- Upload date:
- Size: 31.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
848f036619e6243afe9fdb324626d4d2c24692c2d61396553bf2aeed92f9a356
|
|
| MD5 |
19c9dfc781794a6cf95135305fd5655c
|
|
| BLAKE2b-256 |
83c96c684cef1e51ab866fe49e5976ea64596eba5b64abf8695e6e2780d6361a
|