Cut AWS Bedrock LLM spend from Claude Code — compression + prompt caching, on your machine.
Project description
caprock
Cut your Claude Code token bill — context compression + prompt caching, on your machine, with your own credentials. Works on AWS Bedrock (where it also fixes prompt caching that's silently broken) and on the direct Anthropic API. Nothing leaves your machine.
pipx install caprock # macOS/Homebrew — smoothest (or: uvx caprock, or plain pip, Python 3.10+)
caprock wrap claude # your Claude Code now runs through it
caprock stats # see what you saved
Upgrades: pipx upgrade caprock / pip install -U caprock. Full install
matrix + troubleshooting: https://caprock.dev/docs.
Which backend?
caprock wrap claude picks the backend from your environment:
| Your setup | What happens |
|---|---|
CLAUDE_CODE_USE_BEDROCK=1 or an AWS profile |
signs Bedrock with your creds |
ANTHROPIC_API_KEY set |
routes to the Anthropic API |
| Plain Claude subscription (Pro/Max, no env key) | add the flag: caprock wrap claude --anthropic — auto-detect reads env vars and can't see a subscription yet |
Tip: alias claude='caprock wrap claude' (add --anthropic if you're on a
subscription) — every session runs through caprock. Sessions started without
wrap bypass caprock entirely.
Anything after caprock wrap claude is passed straight through to Claude
Code itself, so its normal flags work unchanged, e.g.:
caprock wrap claude --dangerously-skip-permissions
caprock wrap claude --anthropic --dangerously-skip-permissions
caprock wrap claude --resume
Never run caprock wrap with sudo — it doesn't need root, and running it
once as root can leave ~/.caprock files owned by root that your normal user
can no longer write to.
Every session ends with the money you saved:
💰 You've saved $19.20 with caprock
6,400,000 tokens cut · −85% input cost · 40 requests
this month: $19.20 so far → ~$74/mo at this pace
Measured live against real Bedrock: −48% billed input on a clean install,
−59.7% re-confirmed on a six-turn agent session, up to −70% with the
full pipeline. On the direct Anthropic API (compression only — caching already
works there): up to −55% on tool-heavy JSON. Your number will vary with
your workload — run caprock measure to see yours. How we got these:
https://caprock.dev/methodology.
What it does
- Compression — shrinks tool outputs / logs / JSON before they reach the model.
- Prompt caching — makes Bedrock's prompt cache actually engage (stock Headroom's markers die in conversion → 0% on Bedrock; caprock fixes that).
- Savings meter —
caprock statsand the end of everywrapsession show what you saved, computed locally from real Bedrock cache tokens. - Runs on localhost, signs with your Bedrock credentials. No caprock service in the request path — nothing leaves your machine.
Commands
| Command | What it does |
|---|---|
caprock wrap claude |
Runs Claude Code through the local proxy on your own creds |
caprock start |
Starts the proxy on its own (point any client at it) |
caprock stats |
Shows what you've saved (cache + compression, all time) |
caprock measure |
Replays a workload direct vs through caprock — your own number |
caprock dashboard |
Opens the local savings dashboard |
Team?
Running Claude across a team? The managed tier is a shared in-VPC gateway with per-user / per-role cost attribution, a team dashboard, deployment and support — deployed inside your own AWS account, nothing leaves your VPC. Pricing and a 20-min call: https://caprock.dev/pricing.
Built on Headroom
caprock builds on the open-source Headroom
project (Apache 2.0). It applies the general-purpose fixes that make caching and
compression work on AWS Bedrock (contributed back upstream) over the stock
headroom-ai package. Licensed Apache-2.0.
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 caprock-0.1.7.tar.gz.
File metadata
- Download URL: caprock-0.1.7.tar.gz
- Upload date:
- Size: 93.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec37ed0f8d5a04b95a08cb68bd7f25be25263e78a14ba04b9b3aa1b0a84f007f
|
|
| MD5 |
90222312d99e42f79e62bcfac2bd542e
|
|
| BLAKE2b-256 |
a1d031b188a83a77391038f88fe17489afed96707fe8ae9eb0f5a3e232c0637a
|
File details
Details for the file caprock-0.1.7-py3-none-any.whl.
File metadata
- Download URL: caprock-0.1.7-py3-none-any.whl
- Upload date:
- Size: 87.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbfe0d128feaac7210b9e16215b6cbc11384bd84576b639e1724c01bcec6356b
|
|
| MD5 |
f26fe369eb44a81f0ef5390b7a925a83
|
|
| BLAKE2b-256 |
546ef5cd78eb5e8f59be934e9452882fb489f90358f405f831cd7f1cf40aeb65
|