Skip to main content

ContextMesh — Intelligent Context Layer for Claude Code

One coding session. Infinite memory. 90% fewer tokens.

ContextMesh is a pure transparent proxy + memory engine that sits between Claude Code and the Anthropic API. It automatically compresses token waste, maintains a persistent knowledge graph of your work, and injects Aider-style codebase repomaps — all without changing how you use Claude.

No MCP. No wrappers. Just run contextmesh init once globally. Then use claude normally forever.


How it works (Pure Proxy Architecture)

Everything happens automatically in the proxy. Claude doesn't need to learn any new tools or call any MCP endpoints.

Your Terminal (just run `claude`)
    │
    ▼
┌──────────────────────────────────────────┐
│         ContextMesh Smart Proxy          │  ← Intercepts every request globally
│  ┌─────────────────────────────────┐     │
│  │  Aider-Style RepoMap Injector   │     │  ← Injects AST map into system prompt
│  │  Session Resumption Injector    │     │  ← Injects last session memory
│  │  RTK Output Compressor          │     │  ← Crushes terminal noise
│  │  Anti-Context Auto-Flusher      │     │  ← Removes old resolved turns
│  └─────────────────────────────────┘     │
│             ↓ Stats Writer ↓             │
└─────────────┼──────────────┼─────────────┘
              │              │
      To Anthropic API     To Local SQLite (for dashboard & stats)

Features

Feature What it does Savings
RTK Output Compressor Intercepts massive grep, npm test, cat outputs and crushes the middle noise Up to 90% on tool outputs
AST Repo-Map Injector Parses your entire codebase with Tree-sitter and silently injects a dense structural map into Claude's system prompt on Turn 1 95% on code reads
Anti-Context Auto-Flusher Silently drops old resolved tool calls from history when context bloats past 150k chars 30–60% on long sessions
Session Resumption Automatically injects your last session's summary on startup so Claude remembers decisions Saves re-explanation tokens
God-Mode Dashboard Beautiful live web UI showing exact tokens saved, cost averted, and compression chart
ContextMesh is the intelligent memory and context layer for Claude Code.

Instead of letting Claude waste tens of thousands of tokens blindly reading files and repeating mistakes, ContextMesh seamlessly intercepts Claude's local tools to compress output and inject a dense architectural map of your project.

Why use ContextMesh?

  1. The AST Repo-Map Injector: Forces Claude to understand your entire project architecture on Turn 1 (like Aider).
  2. RTK Token Compression: Intercepts noisy shell commands (npm install, grep) and compresses them by up to 90% before Claude sees them.
  3. 100% Claude Pro Compatible: Powered entirely by local Hooks. Zero network proxies. Works flawlessly with API keys, Claude Pro, AWS Bedrock, and Google Vertex.

⚡ Quickstart

1. Global Setup (Run Once)

Run this once for your entire machine:

pipx install claude-contextmesh
contextmesh init

This installs the ContextMesh Hook Engine directly into Claude Code's global settings. From now on, ContextMesh silently intercepts and compresses terminal commands.

2. Using it in a Project

To enable the massive token-saving AST Repo-Map, you need ContextMesh to index your codebase. You have two options:

Option A: The Manual Way (One-time) Run this once when you enter a new project:

contextmesh index .

This builds the map. (You will need to run it again later if you make major structural changes to your files).

Option B: The Automatic Way (File Watcher) Run this in the background while you work:

contextmesh start &

This starts the ContextMesh Daemon for the current repo. It will automatically watch your files for changes and keep the RepoMap perfectly up-to-date in real time. It also hosts a beautiful token-savings dashboard at http://localhost:8765/dashboard.

Now, just type claude and enjoy the token savings!


📊 Checking Stats

Core

contextmesh init          # One-time global setup (run once per machine)
contextmesh status        # Check if the proxy is running and view live savings
contextmesh stop          # Stop the daemon
contextmesh uninstall     # Cleanly remove all ContextMesh integrations

Stats & Monitoring

contextmesh stats                           # Global token savings report
contextmesh dashboard                       # Open live web dashboard in browser

Manual Controls (Optional)

contextmesh proxy &       # Start the proxy manually (if you stopped the service)
contextmesh index .       # Force a manual re-index of the current repo
contextmesh start         # Start the full background daemon (file watcher)

Token Savings Report

The stats are tracked directly by the proxy sniffing the Anthropic API usage headers. It's 100% accurate.

$ contextmesh stats

╭─ ContextMesh Token Savings Report ─╮
│  Sessions tracked                  12    │
│  Turns tracked                    284    │
│                                          │
│  Original tokens (est.)       2,847,000  │
│  Actual tokens sent             391,000  │
│                                          │
│  RTK compressed               1,102,000  │
│  Context flushed              1,354,000  │
│  Total tokens saved           2,456,000  │
│  Avg compression ratio             14%   │
│  Estimated cost saved           $7.3680  │
╰────────────────────────────────────────────╯

Live Dashboard

To watch your savings in real-time, start the daemon and open the dashboard:

contextmesh start &
contextmesh dashboard

You'll see a live, auto-refreshing dark-themed UI with:

  • 4 stat cards: Raw tokens sent, Compressed tokens, Total saved, USD saved
  • SVG bar chart: Tokens saved per recent turns
  • RTK Interception Log: Every compression event with timestamps and savings %

Architecture: Aider-Style RepoMap

Without ContextMesh, Claude Code blindly guesses which files to read, burning tens of thousands of tokens per file.

ContextMesh uses Tree-sitter to parse your codebase (.py, .ts, .js, .go, .rs) and generates a dense Abstract Syntax Tree (AST) map. On the very first message of your session, the proxy intercepts the request and silently injects this map into Claude's system prompt.

What Claude actually sees (invisibly to you):

[ContextMesh RepoMap — injected automatically to save tokens on file reads]
src/contextmesh/proxy.py
  class TokenProxy  (L12)
    def startup_event  (L36)
    def proxy  (L140)
src/contextmesh/utils/compressor.py
    def compress_outbound_payload  (L11)
...
[Use file line numbers above to read only what you need]

Claude now knows your exact project architecture instantly on turn 1, saving massive amounts of context.


Configuration

~/.contextmesh/config.toml (global):

[tracker]
input_price_per_mtok = 3.0        # Claude cached input price (USD per million)

[proxy]
port = 8099

Supported Auth Modes

ContextMesh acts as a pure local HTTP proxy and supports all official Anthropic auth modes:

Mode Detection Behavior
API Key ANTHROPIC_API_KEY is set Full proxy (compression + cost tracking)
Max/Pro OAuth login Full proxy (compression only)
Bedrock CLAUDE_CODE_USE_BEDROCK=1 Handled natively by Claude
Vertex CLAUDE_CODE_USE_VERTEX=1 Handled natively by Claude

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_contextmesh-0.9.6.tar.gz (55.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_contextmesh-0.9.6-py3-none-any.whl (66.1 kB view details)

Uploaded Python 3

File details

Details for the file claude_contextmesh-0.9.6.tar.gz.

File metadata

  • Download URL: claude_contextmesh-0.9.6.tar.gz
  • Upload date:
  • Size: 55.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for claude_contextmesh-0.9.6.tar.gz
Algorithm Hash digest
SHA256 acf3e90d72781d56078b0fd90ad836ff51eabf74a0220dca1c803b0bf5e45625
MD5 cc41f077f73aeae2940d0f90108944fa
BLAKE2b-256 60190647ed2f23fe4ff7c65a27fd6bbc2b52b349e2e675ef4f0416b6856d0df6

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_contextmesh-0.9.6.tar.gz:

Publisher: publish.yml on gajanansr/ContextMesh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file claude_contextmesh-0.9.6-py3-none-any.whl.

File metadata

File hashes

Hashes for claude_contextmesh-0.9.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f4b3739583e71005cc8457c20af9c878ea4f84bccfbab2c33261f644e815a04f
MD5 fdc0e3361caacbbdf8229b047a77dc93
BLAKE2b-256 9aea4eff9aedeac2eb563ef10b50be55dad2009c4c7195b75905eedbf2b8e6a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_contextmesh-0.9.6-py3-none-any.whl:

Publisher: publish.yml on gajanansr/ContextMesh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.9.6 This release

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.2.0

2 files

0.1.5

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page