Metadata-Version: 2.4
Name: caprock
Version: 0.1.8
Summary: Cut AWS Bedrock LLM spend from Claude Code — compression + prompt caching, on your machine.
Author: Cybrix LLC
License: Apache-2.0
Project-URL: Homepage, https://caprock.dev
Keywords: aws,bedrock,claude,claude-code,llm,cost,compression,prompt-caching,headroom
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: headroom-ai[proxy]==0.31.0
Requires-Dist: boto3
Requires-Dist: httpx
Requires-Dist: click>=8
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"

# 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.

```bash
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.:

```bash
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 stats` and the end of every `wrap` session 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](https://github.com/headroomlabs-ai/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.
