---
title: "Developers · Caveman"
description: "Tools you run yourself. Compression and recovery stay local; model requests"
canonical: https://caveman.so/developers
last-updated: 2026-10-07
---

# Developers · Caveman

Tools you run yourself. Compression and recovery stay local; model requests
still go to the provider you chose.

## One command wraps your agent

```bash
caveman wrap claude
```

That runs supported traffic through Caveman Proxy, powered by Caveman Engine.
Record mode preserves request bytes. Compression mode stores the original
bytes locally before any lossy replacement. No account is needed — log in only
when you want cloud sync, analytics and team features.

```
$ caveman claude
→ local Proxy ready · powered by Caveman Engine
→ recovery tool ready
→ eligible context compression: on
   token reductions use local estimates (inferred)
   original bytes stay in local recovery store
   optional cloud analytics: caveman login
```

Account state never controls local compression.

## What the wrap does all day

- **Local proxy** — a base-URL swap on your machine. Record mode is pass-through. Compression changes model-visible context only when a local recovery path is available. Parse failure or a missing recovery store returns the original unchanged.
- **What gets compressed** — tool output, logs, JSON, tables, diffs, search results and stale context, on-device. Token reductions stay labelled inferred.
- **`caveman learn`** — the local profiler. It reads your own sessions and proposes the cost moves compression alone cannot make: cache hints, oversized tool results, retry loops, ranked by what they could save.

## Where your data goes

| Path | What travels |
| --- | --- |
| your machine → your provider | Prompts and responses, direct. Caveman's cloud is not in that path. |
| your machine to Caveman Cloud (signed in) | Span metadata from sync, such as token counts, model names, cost, latency and savings. Never prompt or response bytes. With routing on, your latest message, the one before it and the end of the agent's last reply go to Caveman Cloud to pick a model; the text is dropped after the decision unless the Free router-learning conditions apply. |
| your machine to hosted Caveman Cloud on Enterprise | Sync uploads are refused at write time. Routing requests and runtime events work as on every plan, and Enterprise text is never kept. |

The full table is at [/data-use](https://caveman.so/data-use).

## Plans

- Free: one person, no card, monthly allowances.
- Pay-as-you-go: a card on file, the same allowances, then per-product usage prices; members are unlimited.
- Enterprise: a contract.

[Contact us](https://caveman.so/contact) about Enterprise.

## Build with Python or TypeScript

Keep your framework and provider client. Native middleware compresses eligible
outbound tool results through a local runtime; inference stays with your provider.
Thin SDKs expose explicit connected APIs.

- [Vercel AI SDK quickstart](https://docs.caveman.so/docs/sdk/middleware/typescript): complete TypeScript example with diagnostics and original recovery.
- [LangChain quickstart](https://docs.caveman.so/docs/sdk/middleware/python): complete Python example that keeps your original conversation.
- [Choose an integration](https://docs.caveman.so/docs/sdk): compare skill, proxy, middleware, or thin SDKs.
- [Compatibility and limitations](https://docs.caveman.so/docs/sdk/middleware/compatibility): released versions, accepted ranges, and exact test evidence.

Middleware is alpha. Local deterministic checks need no provider key; optional
live model runs incur provider charges. Read the SDK and runtime licence terms
before deployment.

## Programmatic access

- [OpenAPI 3.1 specification](https://caveman.so/openapi.json) — 238 operations across the control plane
- [API index](https://caveman.so/api) — base URLs, authentication, unauthenticated endpoints
- [OAuth 2.0 authorization server metadata](https://caveman.so/.well-known/oauth-authorization-server) — RFC 8414, RFC 8628 device grant
- [Contract JSON Schemas](https://caveman.so/schemas/eval-case.schema.json) — the published `$id` targets for Caveman contracts
- [Agent index](https://caveman.so/llms.txt) — when an agent should reach for Caveman, and how

## Open surfaces

The skill, CLI, SDKs, middleware, extension and Browse are Apache-2.0. Releases before 3.0.0 keep the licence they shipped with.
[GitHub](https://github.com/JuliusBrussee/caveman)
