claudeers.
// Developer Tools

anthropometer

Btop-style real-time context monitor for Claude Code sessions — live context map, cache economics, subagents, and a compiled PDF report.

// Developer Tools[ cli ][ api ][ claude ]#claude#ai#btop#claude-code#cli#context-window#developer-tools#diagnostics#devtoolsMIT$open-sourceupdated about 1 month ago
Actively maintained
100/100
last commit 9 days ago
last release 10 days ago
releases 9
open issues 0
// star history

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up anthropometer (release-binary project) into my current project.
Found on https://claudeers.com/anthropometer
Repo: https://github.com/arian-shamaei/anthropometer
Homepage/docs: https://github.com/arian-shamaei/anthropometer#readme
Detected install method: release-binary → inspect the README
Category: devtools. Platforms: cli, api.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
active; community-verified: false. Confirm the source before running anything.
// or install directly (release-binary)

Grab the latest release asset from GitHub.

# download a build from https://github.com/arian-shamaei/anthropometer/releases
// or clone
git clone https://github.com/arian-shamaei/anthropometer

// compatibility

Platformscli, api
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageRust

anthropometer  ·  amtr

A btop-style, real-time diagnostic instrument for Claude Code sessions.

amtr attaches to a Claude Code session's transcript and renders — live — exactly what is happening inside the model's context window: how the token budget is being spent, which files and tools are resident, when compactions fire, what subagents are doing, and the true cost of every turn. Press R and it compiles a ground-truth PDF report of the whole session.

amtr — the context window filling up over a session

↑ replaying a session turn-by-turn: the context map fills, the composition shifts, the trend climbs.

 ·   ·  Rust + ratatui TUI · Python engine · terminal-only


AI usage

 hand-written ▕█████████████████████████████████████████████████████████ ▏  vibe coded  
              └── none ──── copilot ──── pair-programmed ──── VIBE CODED ──┘

Why

/context gives you one number. amtr gives you the whole picture, continuously: the context window as a live memory map, file access as a traffic seismograph, cache economics as a per-turn ledger, compactions as forensic events, and subagents as an economics table — every quantity labeled authoritative (read straight from the API usage records) or estimated, never blurred together.

It works on any Claude Code session — interactive or headless (claude -p) — because every session already writes a complete transcript. amtr just reads it in real time.


The live TUI

A fast, keyboard-driven terminal UI. Tabs 16, f for the session picker, i to inspect, R to build a report, ? for help, q to quit.

Context map — where your budget actually goes

context map, composition legend, and resident trend

The resident context as a fixed-scale grid: the whole box is the budget, and every cell is colored by what occupies it — system overhead, file content, hidden reasoning, shell output, tool results, and more. At a glance you see how full you are and what's filling you up. m cycles four lenses (category · access-heat · turn-age · cache billing); i walks the segments like a memory debugger and reads back the actual text occupying any region.

Files & subagents

Live file traffic (2)Subagent fan-out (4)
filesagents

FILES shows every file's read/write/edit history and a "now" view of what's being touched this instant (fading on a heat law), with a waste column that prices re-reads. AGENTS is a concurrency load-strip over a ledger of each subagent's own-tokens, return-tokens, amplification, and live duration.

Session picker — find any session by name or path

Press f for a searchable, scrollable list of every session on your machine (live ones first). Type to filter by name or project; paste a .jsonl path or a session id to jump straight to it.

sessions

Other tabs: TURNS (per-turn stacked cache/input columns with the 5m/1h billing split), SHELL (the command console Claude never shows you + the external-retrieval feed), and EVENTS (compactions, API errors, model fallbacks — with a compaction post-mortem on Enter). A timeline scrubber holds the whole session; ←/→ rewinds every view to any past turn.


The report — press R

amtr turns a session's transcript into a compiled, ground-truth PDF report: a self-contained directory with report.pdf, animated GIFs + static figures, and a per-turn capture (turns.jsonl / turns.md). Everything is rendered locally.

report page

The figures reconstruct the session faithfully:

Context mapFile traffic roll
mapfiles
Subagent branch treeAgent fan-out timeline
treetimeline

ekg

Plus a cost-ranked phase table and a stage-by-stage, turn-by-turn account of what the session actually did.


Install

Quick install (prebuilt binary)

No Rust, no Homebrew — one line downloads the binary + engine for your platform (macOS arm64/x86_64, Linux x86_64/arm64) and installs it under ~/.local:

curl -fsSL https://raw.githubusercontent.com/arian-shamaei/anthropometer/main/install.sh | sh

If ~/.local/bin isn't on your PATH, the installer tells you how to add it. Override the install prefix with AMTR_PREFIX or pin a version with AMTR_VERSION. The live TUI needs only python3 (≥3.9, stdlib); the report extras (R) still need pip install matplotlib pillow plus brew install tectonic.

brew tap arian-shamaei/anthropometer
brew trust arian-shamaei/anthropometer   # newer Homebrew asks you to trust third-party taps
brew install amtr

This installs the live TUI (a small Rust binary + a stdlib Python engine — no heavy dependencies). To enable the report feature (R / amtr-paper):

pip install matplotlib pillow      # figures
brew install tectonic              # LaTeX → PDF

From source

Needs Rust and Python 3.9+.

git clone https://github.com/arian-shamaei/anthropometer
cd anthropometer/rust
cargo install --path .             # → ~/.cargo/bin/amtr

The engine path is baked in at build time (overridable with $AMTR_ENGINE), so amtr runs from any directory.


Usage

amtr                       # newest/active session, from anywhere
amtr --session S.jsonl     # a specific transcript
amtr --project ~/my/repo   # newest session for that project
amtr --demo                # a self-contained demo (no live session needed)

Arm it beside a headless run to get a report the moment it finishes:

claude -p "do the thing" &
amtr-report --watch        # tails the live session; prints the report when it ends

Keys: 16 tabs · f sessions · i inspect · m map mode · ←/→ scrub · R report · ? help · q quit.


Authoritative vs. estimated

amtr is careful about what it knows versus what it estimates:

  • R (resident context) — exact: input + cache_read + cache_creation of the newest assistant usage record (the same quantity /context reports).
  • The cache waterline — exact: cache_read_input_tokens; backward jumps are real prefix invalidations (thrash).
  • Per-item allocations — estimated (chars/3.8), laid out in true prompt order and force-fit to sum exactly to R, with the invisible server-side context (system prompt, tool schemas) carried as an honest overhead segment and a displayed calibration factor α.
  • Compaction attribution — from compact_boundary set-difference, cross-checked against pre/post token counts.

How it works

Two processes over newline-delimited JSON: a Rust/ratatui UI that owns only the terminal, and a Python engine that owns all the data (transcript discovery, tailing, accounting, checkpoints, replay). SPEC.md is the normative contract; both sides are implemented against it alone, and cross-process contract tests spawn the real engine and require every emitted line to parse.

┌───────────────────────────┐   JSON lines over stdin/stdout   ┌───────────────────────────┐
│  amtr  (Rust ratatui bin) │ ── Control (UI → Engine) ──▶      │  amtr_engine.py           │
│  owns ONLY the terminal   │                                  │  (python3 ≥3.9, stdlib)   │
└───────────────────────────┘ ◀── Update (Engine → UI) ──       │  owns ALL data            │
                                                                └───────────────────────────┘

Repository layout

SPEC.md            the normative protocol + view contract
amtr_engine.py     the engine: discovery, tailing, accounting, checkpoints, replay
amtr_paper.py      the PDF report builder (amtr_figures/_turns/_phases support it)
rust/              the TUI (cargo test runs a headless screenshot suite)
tests/             engine test suite + synthetic fixtures
packaging/homebrew the Homebrew formula + tap runbook
docs/assets/       screenshots and figures for this README

License

MIT © Arian Shamaei

// faq

What is anthropometer?

Btop-style real-time context monitor for Claude Code sessions — live context map, cache economics, subagents, and a compiled PDF report.. It is open-source on GitHub.

Is anthropometer free to use?

anthropometer is open-source under the MIT license, so it is free to use.

What category does anthropometer belong to?

anthropometer is listed under devtools in the Claudeers registry of Claude-compatible tools.

2 views
22 stars
unclaimed
updated about 1 month ago

// embed badge

anthropometer on Claudeers
[![Claudeers](https://claudeers.com/api/badge/anthropometer.svg)](https://claudeers.com/anthropometer)

// retro hit counter

anthropometer hit counter
[![Hits](https://claudeers.com/api/counter/anthropometer.svg)](https://claudeers.com/anthropometer)

// reviews

// guestbook

0/500

// related in Developer Tools

🔓

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Curs…

// devtoolsaffaan-m/JavaScript240,305MIT[ claude ]
🔓

Use Garry Tan's exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA

// devtoolsgarrytan/TypeScript128,278MIT[ claude ]
🔓

AI coding assistant skill (Claude Code, Codex, OpenCode, Cursor, Gemini CLI, and more). Turn any folder of code, SQL schemas, R scripts, shell scripts, docs,…

// devtoolssafishamsi/Python109,277MIT[ claude ]
🔓

Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

// devtoolsDietrichGebert/JavaScript104,762MIT[ claude ]
→ see how anthropometer connects across the ecosystem