MD Faiz’s replay of 59 days of personal Claude Code sessions estimated their usage at $1,674.75 at API list prices and found 117 attempted rm -rf tool calls. Those figures describe one developer’s retrospective—not an actual bill, an audited dataset, or 117 confirmed incidents.
What the replay measured
In a first-person report published on DEV Community on September 30, 2026, MD Faiz used Paveo, a policy checkpoint he was building, to replay his own Claude Code session logs from two months of work. The reported sample covered 59 days and contained 106 sessions, 8,113 model calls, and 8,176 tool calls. These are the author’s counts and have not been independently audited. Read Faiz’s report on DEV Community.
As an Amazon Associate I earn from qualifying purchases.
The replay applied API list prices to recorded model usage. Faiz says the sessions had been run on a subscription, so the resulting total is a counterfactual estimate—not the amount he paid.
What the API-price estimate includes
Faiz reported a total of $1,674.75. His article’s model breakdown assigns $1,300.47 across 5,248 calls labeled Opus 5 and $374.28 across 2,861 calls labeled Opus 5.5. Those model names and prices are reproduced as printed in the report; they are not independently verified here.
#1 Best Overall
| Measure | Reported amount | What it represents |
|---|---|---|
| Total | $1,674.75 | Author’s replay estimate at API list prices, not subscription charges |
| Costliest day | $136.93 | Author’s estimated API-price cost for one day |
| Costliest session | $452.92 | Author’s estimated API-price cost for one session |
| Opus 5 | $1,300.47 over 5,248 calls | Model label and breakdown as printed in the report |
| Opus 5.5 | $374.28 over 2,861 calls | Model label and breakdown as printed in the report |
Faiz said almost every call lacked serving-region information, so he priced those calls using US rates. He estimated that this could make the total as much as 10% too high. That is his estimate of the effect of the missing region data, not a general or independently established error bound.
What the policy replay would have refused
Applied to all 8,176 tool calls, the starter policy would have refused 670. The report itemizes these refusals as follows:
Rank #2
| Action category | Refusals in replay |
|---|---|
rm -rf |
117 |
git clean -f |
3 |
git reset --hard |
2 |
git push --force |
1 |
| Edits to Claude Code settings or Paveo files | 547 |
| Total refused | 670 |
A refusal count is not a damage count. Faiz says many of the recursive deletions were routine cleanup of build folders the agent had created. He also describes most refusals involving Claude Code settings or Paveo files as false alarms, in part because he was building Paveo and working in its files.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →His safety rationale was asymmetric: a false refusal costs a retry, while allowing a harmful action could cost work. Editing the agent’s settings or the guard itself also creates a route for weakening restrictions. The replay shows how that particular starter policy classified logged calls; it does not demonstrate what would have happened had each call been allowed or blocked in real time.
Rank #3
How to estimate your own Claude Code API usage
Faiz points readers to local Claude Code session data beneath ~/.claude/projects. His method is to count recorded model messages and apply the relevant API prices, while avoiding double-counting streamed messages that appear across multiple lines.
- Locate the relevant session JSONL files beneath
~/.claude/projects. - Identify message IDs and count each message once. A streamed message can occupy several lines, so treating every line as a separate call can inflate the count.
- Separate model usage and apply the applicable API rates to estimate cost. If serving-region details are absent, label the region assumption and treat the result as an estimate.
- Compare the estimate with your actual billing arrangement. An API-list-price replay does not establish subscription charges or savings.
The article does not provide a universal calculator or independently validated reconstruction method. Differences in recorded usage, model pricing, region, and billing arrangement can affect another developer’s result.
Rank #4
Safeguards suggested by the results
Set a per-run ceiling before starting
A monthly alert can arrive after a costly session has already run. Faiz recommends setting a spending ceiling for each run and checking it before each model call, so the system can stop before making a call that would cross the limit.
Recommended Free Tools
Keep hard-stop rules short and mechanical
Faiz’s approach is to reserve firm refusals for recognizable, high-impact actions such as recursive deletion, force pushes, and spending money. Rules that are too broad can block legitimate work—as the reported settings and guard-file false alarms illustrate.
Best Value
Make refusals safe to handle
A refusal should tell the agent not to retry the same action through another route and should report what it intended to do. That makes a blocked action visible to the person responsible rather than inviting the agent to work around the policy.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




