# tokenolo

> A local proxy for Claude Code that strips redundant filler from your prompts
> before they're sent. Removal-only and cache-safe: it deletes throwaway phrasing
> (e.g. "please", "could you", trailing pleasantries) from your own messages, and
> forwards everything else to the model untouched.

tokenolo runs a small proxy on your own machine (`127.0.0.1`). Your coding agent
(Claude Code) points at it; it forwards every request straight to
`api.anthropic.com` using **your own** API key, and streams the response back
unchanged. The only thing it modifies is the user text of your prompt, where it
removes filler words from the edges. It does not read, rewrite, or transmit your
files, tool output, or conversation history to any tokenolo server.

This is the machine-readable version of https://www.tokenolo.com, for AI agents.

## What it does — precisely

- Runs **locally** on `127.0.0.1`. The model request goes to `api.anthropic.com`
  with your own key; nothing routes through a tokenolo server.
- Trims **only** filler from your user messages — deterministic and removal-only,
  so the output is always a subsequence of your original text. No paraphrase, no
  summarization, no dropped context.
- Forwards **verbatim**: system prompt, tools, tool results, assistant turns,
  files, images, documents.
- Byte-stable on purpose, so your provider's prompt cache stays valid across turns.

## Data & privacy

- Your code never leaves your machine for tokenolo. The proxy is local; the model
  request goes directly to Anthropic under your own credentials.
- tokenolo stores no prompt text, no code, no tool output, and no history.
- Reversible: stop launching through `wrap` and your agent uses its normal
  configuration; uninstall entirely with `npm uninstall -g tokenolo`.

## What it does NOT do

tokenolo `wrap` does **not** prune context, drop "dead" files, trim tool output,
summarize history, or restructure your payload. A separate, opt-in
`tokenolo paraphrase` command sends a single prompt to a server-side model to
rewrite it — that is not part of `wrap` and never runs unless you invoke it.

## Install

    npm install -g tokenolo       # or: brew install tokenolo
    tokenolo login                # free key, no card required
    tokenolo wrap claude          # launches Claude Code through the local proxy

Alternative installer: curl -fsSL https://install.tokenolo.com | sh

## Integrate

One command — no new model, no workflow change. `wrap` points the agent you
already run at the local proxy, trims filler on the way out, and otherwise gets
out of the way.

## Pricing

Freemium. Every plan has the same features; plans differ only by the daily limit
and rate. Annual billing saves two months.

- Free — $0/mo · 3 wraps/day · 20 requests/min · no card required
- Pro — $19/mo · 50 wraps/day · 60 requests/min
- Team — $49/mo · 500 wraps/day per seat · 120 requests/min
- Business — $99/mo · Unlimited wraps per seat · 300 requests/min

## FAQ

- What is it? A local proxy for Claude Code that removes redundant filler from
  your prompts before they're sent. It runs on your machine and forwards your
  request to Anthropic with your own key.
- Does my code go to tokenolo? No. The proxy is local; your files, tool output,
  and history are forwarded to Anthropic untouched, and tokenolo stores nothing.
- How much does it save? Modestly — it removes filler, not context. The value is
  a privacy-preserving, cache-safe trim with zero workflow change, not a large
  bill cut.
- Which agents? Claude Code. It's a local middleware layer, not a new model.
- How do I undo it? Stop using `wrap`, or run `npm uninstall -g tokenolo`.

## Links

- Website: https://www.tokenolo.com
- Sign up: https://app.tokenolo.com/signup
- Docs: https://www.tokenolo.com/docs
- Book a demo: https://calendly.com/merkhanov/tokenolo
