vylor-savings-estimator
See how much your Claude AI sessions waste on file exploration — in tokens, cost, and time. Zero configuration.
Reads your Claude session .jsonl files (Claude Code CLI & Claude Desktop), detects the file-exploration and repo-crawling patterns that Vylor MCP replaces, and reports how much of your spend was avoidable waste.
Install
One command (standalone binary, no Python needed)
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/Vylor-AI/vylor-saving-estimator/main/install.sh | sh
Windows (PowerShell)
irm https://raw.githubusercontent.com/Vylor-AI/vylor-saving-estimator/main/install.ps1 | iex
Or download the binary for your platform from Releases:
| Platform | Binary |
|---|---|
| Windows (x64) | vylor-estimate.exe |
| macOS (x64 / Apple Silicon) | vylor-estimate-macos |
| Linux (x64) | vylor-estimate-linux |
Manual install on macOS / Linux:
chmod +x vylor-estimate-macos
mv vylor-estimate-macos /usr/local/bin/vylor-estimate
On Windows, move vylor-estimate.exe to any folder in your PATH.
From source
git clone https://github.com/vylor-ai/vylor-saving-estimator.git
cd vylor-saving-estimator
pip install -e .
Via pip / pipx (Python 3.10+)
pip install vylor-estimate
# or in an isolated environment
pipx install vylor-estimate
Usage
# Auto-discover all Claude sessions (defaults to last 30 days)
vylor-estimate
# Date filtering
vylor-estimate --week # last 7 days only
vylor-estimate --month # last 30 days only
vylor-estimate --all # all-time (disable default 30-day filter)
vylor-estimate --since 2025-09-01
# Explicit path (single file or custom directory)
vylor-estimate /path/to/session.jsonl
vylor-estimate /path/to/sessions/
# Detailed report (waste by source, model, and session)
vylor-estimate -d
Session files are read locally. No data is sent anywhere.
Example Output
Default: one table, one hint.
AGENT OVERHEAD ESTIMATE
Analyzed: 5 session(s) | Last 30 days
+--------------------------------------------------------------------+
| | Cost | Tokens | Time |
|---------------------+-----------------+---------------+------------|
| Total | $2.6576 | 6.14M | 11m |
| Avoidable overhead | $2.2445 (84.5%) | 5.39M (87.8%) | 9m (83.2%) |
+--------------------------------------------------------------------+
Top overhead sources: sub-agents 98%
Run with -d for details.
- Total is what the analyzed sessions cost, in cost, tokens and time.
- Avoidable overhead is the portion spent on exploration and reconnaissance that Vylor tools make unnecessary.
- Top overhead sources tells you what contributes most to the overhead.
-d adds overhead by source (cost, tokens, time), a breakdown by model, and the top sessions by overhead.
How Overhead Is Estimated
A turn counts as avoidable overhead when it is one of:
| Source | What counts |
|---|---|
| Sub-agents | Every turn of a background sub-agent (e.g. Explore agents spawned via the Agent tool). Whole turn: cost, tokens, time. |
| Searches | Grep, grep_search, ripgrep, or a shell command using grep / rg / findstr / Select-String. |
| Directory listing | Glob, list_dir, LS, or a shell command using find / ls / tree / dir / Get-ChildItem. |
Rules for main-agent turns:
- Pure exploration only. Every tool call in the turn must be exploration. A turn that also edits files, builds, or runs tests is not counted.
- Shell commands are inspected.
Bash/PowerShellcount only when the command is exploration (cd src && grep -rn foo . | head).git commit,npm testorgit log | grep fixdo not. - For an overhead main-agent turn, the output tokens and the prompt-cache reads it caused are counted. For a sub-agent turn, everything is counted.
Avoidable time
Time is agent-time: the sum of the durations of overhead turns, using the turn timestamps in the session files. It is model generation time only (not tool run time), each turn is capped at 10 minutes so idle gaps don't skew the totals, and parallel sub-agents can overlap, so it can exceed the wall-clock time.
The compounding cache
Reading files writes their contents into the prompt cache. On every later turn of the session those files are re-read from the cache, so avoided exploration also shrinks the cache reads of later turns. That is why exploration is more expensive than its own token count suggests.
Session File Locations
Automatically discovered from platform defaults:
| OS | Search Locations |
|---|---|
| Windows | ~/.claude/projects/ (Claude Code CLI)%APPDATA%\Claude\projects\ (Claude Desktop) |
| macOS | ~/.claude/projects/~/Library/Application Support/Claude/projects/ |
| Linux | ~/.claude/projects/~/.config/Claude/projects/ |
Development
git clone https://github.com/vylor-ai/vylor-saving-estimator.git
cd vylor-saving-estimator
pip install -e ".[dev]"
pytest
Binaries are built by build-binary.yml on every v* tag and published to this repo's Releases.
Metadata
Release files for vylor-estimate 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vylor_estimate-0.3.0.tar.gz | 28.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vylor_estimate-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 63.8 kB
Release files / vylor_estimate-0.3.0.tar.gz
| Download URL | vylor_estimate-0.3.0.tar.gz |
|---|---|
| Size | 28.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
91ba719835bcadf46612747d7dbbc1956342a4b911d9592df6bf3f22b35ea368
|
|
BLAKE2b-256 checksum How to use checksums |
7222b89eea2e72d89bd7046d392a10de1e3635a8daf009294b1b49ac4f22761f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logRelease files / vylor_estimate-0.3.0-py3-none-any.whl
| Download URL | vylor_estimate-0.3.0-py3-none-any.whl |
|---|---|
| Size | 35.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3882610d96487330982cbd855757f903c6c7796dcce9fa14538a619947c45eb3
|
|
BLAKE2b-256 checksum How to use checksums |
95f6f9b1a7c277869de7a6f79ee637ae4974b0c93627940bacf3af9cf184770c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency log