FIRST CHECK
Oct 15WHAT TO DO FIRST
- Start a fresh chat at about 150ksaves about 13%
- Keep tool results small27% of usage
- Turn off tools a project doesn't use17% of usage
Saved today's date.
~/.claude ~/.codex~/.local/share/opencode/opencode.db
Claude Code, Codex, OpenCodeAny model provider in OpenCode
nowhere, it runs on your computer
A · USAGE DOCTOR
vectiscode reads the logs Claude Code, Codex and OpenCode keep on your computer, finds what drains your usage and tells you what to change.
npx vectiscodeRun npx -y vectiscode@latest, explain my top three findings in plain words, and show me the exact change you would make for each one (settings, MCP servers, CLAUDE.md or AGENTS.md, or a habit). Wait for my yes before changing anything. Afterwards, remind me to run it again in a few days to see if it worked.
Paste it into Claude Code, Codex or OpenCode.
Uses no AI and none of your limits. Nothing is uploaded. Never changes your logs.
Node 22 or newer. OpenCode needs 22.13 or newer.
| Test | Result | Reference range | Flag |
|---|---|---|---|
| Saved by fresh chats at 150k | under 2%0 to 30% | HIGH | |
| Tool results | under 5%0 to 30% | MEDIUM | |
| Setup re-sent with every request | under 3%0 to 30% | MEDIUM | |
| Cache rewritten after breaks | under 1%0 to 30% | LOW | |
| Helpers and subagents | under 15%0 to 30% | OK | |
| Codex, biggest chat | of a weekly limit | ||
From one developer's Claude Code logs. Simulated savings.
less on a long chat
of a whole week's usage
more work from the same limits
35% on a chat that grew to 665k tokens. The whole-week estimate is 13%; 15% more work is its equivalent, 1 / 0.87. These are upper bounds: fresh chats may need to read files again.
B · SEE IT RUN
npx vectiscode
Reading your logs...
vectiscode usage doctor · last 7 days CLAUDE CODE 1107 units · 11,717 requests · 48 chats re-reading the chat 42% writing to cache 29% output 29% new input <1% projects web-app 83% · api 6% · tools 4% · docs-site 2% CODEX 2,649 turns · 144 chats · Plus plan re-reading the chat 37% estimated new input 40% output 24% weekly limit 8% used · resets Sun, Oct 25, 11:44 5-hour limit 49% used · resets Sun, Oct 18, 17:44 biggest chats web-app Oct 11 60% · billing Oct 17 49% · web-app Oct 16 46% of a weekly limit You use more than one ChatGPT account. The reading above is from the one used last; each account's chats are counted against its own limit. ╭─ WHAT TO DO FIRST ──────────────────────────────────────────────────────────────────────────────╮ │ 1 Start a fresh chat from a short handoff note at about 150k up to 13% │ │ 2 Keep tool results small: read files in slices, short logs 27% │ │ 3 Turn off MCP servers and tools a project doesn't use 17% │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────╯ Units are API-equivalent dollars, used to weigh tokens against each other. They are not your bill. FINDINGS HIGH Long chats: fresh chats at 150k would have saved up to 13% of your Claude usage 67% of your Claude usage ran in chats past 150k tokens of context, 24% past 300k. Starting a fresh chat at 150k would have saved up to 145 units, up to 13% of your Claude usage, after paying about 0.23 units to set up each of 321 more chats. 23 chats grew past 300k and were compacted 60 times. web-app, Oct 16: 124 units, peaked at 268k, 20 compactions. web-app, Oct 15: 72.7 units, peaked at 410k, 7 compactions. web-app, Oct 12: 66.8 units, peaked at 409k, 6 compactions. Codex: 33% of the weekly limit you used went to turns past 150k tokens of context. Fix In Claude Code, start a fresh chat from a short handoff note once a chat passes about 150k. Much sooner doesn't pay, because each new chat loads its setup again. In Codex, start fresh sooner: a new chat costs about as much as one small step in a 170k chat. Fresh chats also keep the detail that compaction throws away. MEDIUM Tool results: 27% of your Claude usage went to what tools returned Tool results took 27% of your Claude usage: each one is written to the cache, then re-read by every later step of the chat. By tool: Read 13%, Bash 9%, Grep 1%, ToolSearch 1%, update_plan (ccd_turn) <1%. Biggest single result: Read, 56k tokens in web-app on Oct 16, re-read by 19 later steps. Fix Read files in slices or search them. Keep command output to tails, counts and errors. Take screenshots for visual checks; let a helper summarize big files. MEDIUM Always-on context: 17% of your Claude usage is re-sending the same setup A new Claude Code chat starts at about 71k tokens (median of 44 chats), and most of that goes out again with every request. Re-sending it cost 189 units, 17% of your Claude usage. Where it comes from in your latest chat (36k): tool definitions 15k, not itemized 5k, skills list 5k, system prompt 5k, CLAUDE.md and rules 3k, deferred tool list 1k, subagent list 845, other 831. Never called in the 4 chats that logged their tools: SendFeedback (2k), Workflow (2k), ScheduleWakeup (2k), Agent (1k), ReportFindings (735) and 4 more, about 8k per request. A new Codex chat starts at about 33k tokens. Fix Turn off MCP servers and plugins a project doesn't use. Deny unused built-in tools with permissions.deny in settings.json and shorten instruction files. Your system prompt, tool definitions, skills and CLAUDE.md go out with every request. LOW Coming back to big chats after a break cost 3% of your Claude usage 34 times a chat was picked up after its cache had expired, so the whole chat was written to the cache again. That cost 33.8 units, 3% of your Claude usage. Biggest: docs-site on Oct 13, 332k tokens rewritten after a 1-hour break. Fix Before a long break, finish the step and continue in a fresh chat, or run /compact so the rewrite is small. The cache lasts about an hour (5 minutes for some requests); after that, the next step pays to write the whole chat again. LOOKS FINE ✓ Helpers and subagents (14%) Saved today's date. Run vectiscode again after a few days of work to see what changed.
npx vectiscode
Reading your logs...
vectiscode usage doctor · last 7 days SINCE YOUR LAST CHECK (Oct 15) before after units per request 0.100 0.092 ▼ 8% average context 257k 205k ▼ 20% usage past 150k context 86% 59% Codex weekly % per 100 turns 15.4 16.0 ▲ 4% CLAUDE CODE 1107 units · 11,717 requests · 48 chats re-reading the chat 42% writing to cache 29% output 29% new input <1% projects web-app 83% · api 6% · tools 4% · docs-site 2% CODEX 2,649 turns · 144 chats · Plus plan re-reading the chat 37% estimated new input 40% output 24% weekly limit 8% used · resets Sun, Oct 25, 11:44 5-hour limit 49% used · resets Sun, Oct 18, 17:44 biggest chats web-app Oct 11 60% · billing Oct 17 49% · web-app Oct 16 46% of a weekly limit You use more than one ChatGPT account. The reading above is from the one used last; each account's chats are counted against its own limit. ╭─ WHAT TO DO FIRST ──────────────────────────────────────────────────────────────────────────────╮ │ 1 Start a fresh chat from a short handoff note at about 150k up to 13% │ │ 2 Keep tool results small: read files in slices, short logs 27% │ │ 3 Turn off MCP servers and tools a project doesn't use 17% │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────╯ Units are API-equivalent dollars, used to weigh tokens against each other. They are not your bill. FINDINGS HIGH Long chats: fresh chats at 150k would have saved up to 13% of your Claude usage 67% of your Claude usage ran in chats past 150k tokens of context, 24% past 300k. Starting a fresh chat at 150k would have saved up to 145 units, up to 13% of your Claude usage, after paying about 0.23 units to set up each of 321 more chats. 23 chats grew past 300k and were compacted 60 times. web-app, Oct 16: 124 units, peaked at 268k, 20 compactions. web-app, Oct 15: 72.7 units, peaked at 410k, 7 compactions. web-app, Oct 12: 66.8 units, peaked at 409k, 6 compactions. Codex: 33% of the weekly limit you used went to turns past 150k tokens of context. Fix In Claude Code, start a fresh chat from a short handoff note once a chat passes about 150k. Much sooner doesn't pay, because each new chat loads its setup again. In Codex, start fresh sooner: a new chat costs about as much as one small step in a 170k chat. Fresh chats also keep the detail that compaction throws away. MEDIUM Tool results: 27% of your Claude usage went to what tools returned Tool results took 27% of your Claude usage: each one is written to the cache, then re-read by every later step of the chat. By tool: Read 13%, Bash 9%, Grep 1%, ToolSearch 1%, update_plan (ccd_turn) <1%. Biggest single result: Read, 56k tokens in web-app on Oct 16, re-read by 19 later steps. Fix Read files in slices or search them. Keep command output to tails, counts and errors. Take screenshots for visual checks; let a helper summarize big files. MEDIUM Always-on context: 17% of your Claude usage is re-sending the same setup A new Claude Code chat starts at about 71k tokens (median of 44 chats), and most of that goes out again with every request. Re-sending it cost 189 units, 17% of your Claude usage. Where it comes from in your latest chat (36k): tool definitions 15k, not itemized 5k, skills list 5k, system prompt 5k, CLAUDE.md and rules 3k, deferred tool list 1k, subagent list 845, other 831. Never called in the 4 chats that logged their tools: SendFeedback (2k), Workflow (2k), ScheduleWakeup (2k), Agent (1k), ReportFindings (735) and 4 more, about 8k per request. A new Codex chat starts at about 33k tokens. Fix Turn off MCP servers and plugins a project doesn't use. Deny unused built-in tools with permissions.deny in settings.json and shorten instruction files. Your system prompt, tool definitions, skills and CLAUDE.md go out with every request. LOW Coming back to big chats after a break cost 3% of your Claude usage 34 times a chat was picked up after its cache had expired, so the whole chat was written to the cache again. That cost 33.8 units, 3% of your Claude usage. Biggest: docs-site on Oct 13, 332k tokens rewritten after a 1-hour break. Fix Before a long break, finish the step and continue in a fresh chat, or run /compact so the rewrite is small. The cache lasts about an hour (5 minutes for some requests); after that, the next step pays to write the whole chat again. LOOKS FINE ✓ Helpers and subagents (14%) Next check: run it again in a few days to see what changed.
npx vectiscode compare 2026-10-17
Reading your logs...
vectiscode compare · 7 days before Oct 15 vs 4 days since CLAUDE CODE before after units per request 0.103 0.092 ▼ 11% units per active hour 9.2 17.9 ▲ 94% average context 255k 209k ▼ 18% usage past 150k context 86% 60% new chats start at 73k 70k ▼ 4% compactions per chat 2.6 1.8 33 active hours before, 45 after CODEX before after weekly % per active hour 9.7 10.1 ▲ 4% weekly % per 100 turns 14.9 16.5 ▲ 11% average context 119k 118k ▼ 1% 21 active hours before, 22 after
Real output from one developer's logs, with project names changed.
C · ASK YOUR AI
Paste it into Claude Code, Codex or OpenCode. Your assistant runs vectiscode, tells you what matters for you and makes only the changes you say yes to.
Run npx -y vectiscode@latest, explain my top three findings in plain words, and show me the exact change you would make for each one (settings, MCP servers, CLAUDE.md or AGENTS.md, or a habit). Wait for my yes before changing anything. Afterwards, remind me to run it again in a few days to see if it worked.
vectiscode itself uses no AI. This chat uses about as much of your limit as a short task.
D · THE NEXT CHECK
The first check gives you a place to start. The next shows what changed since the date it saved.
average context on the next check
One developer's logs, before and after Oct 15. Usage past 150k fell from 86% to 59%, units per request by 8%. Codex usage per 100 turns rose 4%. A comparison, not a promise.
See the next check in the terminalWHAT TO DO FIRST
Saved today's date.
SINCE YOUR LAST CHECK
| Claude Code | Before | After | Change |
|---|---|---|---|
| Units per request | 0.100 | 0.092 | −8% |
| Average context | 257k | 205k | |
| Usage past 150k | 86% | 59% |
Codex weekly % per 100 turns: 15.4 to 16.0 (+4%)
E · WHY LIMITS DRAIN
Claude Code sends the entire conversation with every step: the setup, your messages, every file it read and every tool result. Most of it comes from the cache at a fraction of the price, but in a long chat it adds up, and every compaction throws detail away.
Units per step
more per step
A step over 300k costs up to 60% more than one at 100 to 150k: 0.120 vs 0.075 units. A new chat costs more at first because its setup must be written to the cache.
F · WHAT SAVES
Every number here comes from real logs or from a test on a real account, October 2026.
Across the whole week, fresh chats at 150k would have saved up to 13% of Claude usage, after paying for every new chat's setup. On the chat above, the simulated saving is 8%. At 100k the saving is gone: each new chat costs about as much to set up as it saves. vectiscode works this out for your own chats. The estimate does not count files a fresh chat would need to read again.
A new Claude Code chat in these logs started at about 71k tokens (the median), and re-sending that setup was 17% of all usage. Turn off MCP servers a project doesn't use, deny tools you never call, keep CLAUDE.md short.
More than a quarter of this week's Claude usage. Everything a tool returns is written to the cache once and re-read on every later step. Read files in slices, search instead of opening whole files, keep logs and screenshots out unless they're needed. File reads alone were 14%, shell commands 9%.
Codex charges nothing extra to put a chat in its cache, so a new chat is cheap: about 0.21% of a Plus 5-hour limit. A small step in a 170k chat costs 0.26%, so once a Codex chat is that long, every step costs about as much as starting over. New input costs the most: 125k tokens the cache hadn't seen took 3.3% in a single step.
Run npx vectiscode again after a few days of work. It remembers the date of your last check. Use compare 2026-10-17 to compare against a date you choose.
The cost of 16 small steps.
Pasting 125k tokens of new text took 3.3% of a 5-hour limit. A small step in a new chat took 0.21%. In a 170k chat, that step took 0.26%, more than starting fresh.
A test on one ChatGPT Plus account with gpt-6.1-sol, October 2026: 154 turns in five blocks, measured with the 5-hour limit readings Codex logs after every turn.
| Turn | Tokens | 5-hour limit per turn |
|---|---|---|
| A small step in a new chat | 22k read, 7k of them new | 0.21% |
| A small step in a 170k chat | 170k read, 1.5k new | 0.26% |
| Pasting 125k tokens of new text | 143k read, 125k new | 3.3% |
| A 1,200-word answer | 22k read, 1,600 written | 0.38% |
1% of the 5-hour limit is about 37k new tokens, 780k tokens from the cache, or 7k tokens of output.
G · HOW IT WORKS
~/.claude/projects, ~/.codex/sessions and OpenCode's ~/.local/share/opencode/opencode.db. It reads them on your computer and never changes your logs.
Claude Code: each request's tokens at API list prices, checked against Claude Code's own cost records, shown as units. Codex: the real 5-hour and weekly percentages it logs after every turn. OpenCode: any model provider, using recorded costs or known API prices when available.
Ranked by what they cost you, with what to do first. It saves a small local file with your last check date. Next time, the report opens with what changed. --json for your own scripts.
H · QUESTIONS
No. The report is plain arithmetic on your log files, done by a small program on your computer. It calls no AI model and makes no network request, so your limits don't move. Only the prompt for your AI uses some: that chat costs about as much as a short task.
No. Units are API-equivalent dollars, a common scale to weigh requests against each other. Plans are not billed this way.
No. There is no account, no telemetry and no network call. The package has no dependencies, so that's easy to check.
Claude Code on any plan or API key, Codex on any ChatGPT plan and OpenCode with whatever model it runs: Anthropic, OpenAI, Google or local models. Codex limit percentages show for plans that have limits.
Each account's limit windows are counted separately.
All three, with Node 22 or newer. OpenCode needs 22.13 or newer for SQLite support. Built and tested on Windows; the log formats are the same on macOS and Linux.
OpenCode, yes, with whatever model it runs. Cursor and Gemini CLI, not yet: they do not keep per-request token logs on your computer that vectiscode can read. Open an issue if yours does.
npx vectiscode