Claude Code Sends 640 Telemetry Types — This Gateway Lets You Control Them
If you’ve been using Claude Code (Anthropic’s CLI assistant), you might have noticed it sends a lot of telemetry. How much? Try 640 distinct telemetry types. That’s not a typo. From keystroke timing to request payloads, the client is chatty by default.
Most developers don’t love their local tools phoning home with that level of detail. But you also want to keep using Claude Code because it’s genuinely useful. So what can you do? Block it entirely and risk breaking updates? Or dig through opaque config files? Enter CC Gateway — a tiny proxy that lets you see, filter, and block every single piece of telemetry Claude Code tries to send.
What It Does
CC Gateway is a local HTTP reverse proxy that sits between Claude Code and Anthropic’s servers. When you run Claude Code through this proxy, every outgoing request gets intercepted. You can:
- Log all telemetry payloads in real-time (so you know exactly what’s being sent)
- Block specific telemetry types by ID or pattern
- Rate-limit or drop requests entirely
- Rewrite headers (e.g., remove user-agent or session IDs)
- Redirect telemetry to a local file or a different endpoint
Think of it like a firewall for Claude Code’s behavior — except it’s 50 lines of Rust and runs in a terminal.
Why It’s Cool
First, the number 640 is absurd. CC Gateway doesn’t just give you a binary on/off switch. It gives you a fine-grained blocklist. Want to keep crash reports but drop usage analytics? You can. Want to log everything for a week and then review which telemetry types are actually useful? Do it.
What makes this clever is the implementation. It uses a simple Rust-based TCP proxy with a TOML config file. You don’t need Docker, Kubernetes, or a PhD in networking. You write a config like:
[blocked]
types = ["keypress", "timing"]
rate_limit = 10 # requests per second
Then point Claude Code at http://localhost:8080 instead of https://api.anthropic.com. That’s it. The proxy prefixes the request URL with a X-CC-Proxy header so you can see in the logs which requests were proxied vs. blocked.
Another neat touch: because it’s a plain proxy, you can run it alongside developer tools like mitmproxy or wireshark for deeper inspection. It’s also tiny — the compiled binary is under 2MB with no runtime dependencies.