Immutable. This exact content is served forever at /api/v1/blob/cb84526a338f697c.
---
name: pricing-refresh
description: Refresh or verify the hermit cost rate table against Anthropic's live pricing. Use when the operator says "refresh pricing", "verify pricing", "is the rate table current", "new model pricing", or asks whether `scripts/lib/pricing.ts` matches current Claude rates. Maintainer-only; never autonomous, never a routine, never touches operator installs.
---
# Pricing refresh
Compare `plugins/claude-code-hermit/scripts/lib/pricing.ts` to Anthropic's live
docs and, **only after explicit confirmation**, edit the table. Do not run this
on a schedule. Do not write anything under an operator's `.claude-code-hermit/`.
## Step 1 — Read the table
Read `plugins/claude-code-hermit/scripts/lib/pricing.ts`. Record every `PRICING`
key, its `{ input, output, cacheRead?, fast? }` rates, the `CACHE_WRITE_5M` /
`CACHE_WRITE_1H` / `CACHE_READ` multipliers, and `PRICING_VERIFIED`.
## Step 2 — Fetch live sources
Load the bundled `claude-api` skill. From its `shared/live-sources.md`, WebFetch
these three URLs:
- Models Overview
- Pricing
- Prompt Caching
Extract current model ids, per-MTok input/output, cache write (5m and 1h) and
read multipliers, any per-model `cacheRead` absolute rate, and fast-mode rates.
## Step 3 — Unknown ids in the log
From `.claude-code-hermit/cost-log.jsonl` (this repo's own hermit dir, last 30
days of `timestamp`), list distinct `model` values that are not exact
`PRICING` keys (dated `<key>-YYYYMMDD` snapshots of an existing key count as
exact). Print them. Do not edit operator installs.
## Step 4 — Diff
Print a rate-diff table: id, live input/output/cache/fast vs the file. Flag
missing ids, stale rates, and a `PRICING_VERIFIED` date that is not today.
Stop here unless the operator confirms an edit.
## Step 5 — Edit on confirmation only
If the operator explicitly confirms:
1. Edit `plugins/claude-code-hermit/scripts/lib/pricing.ts` rates and keys to
match the live table. Set `PRICING_VERIFIED` to today's date (`YYYY-MM-DD`).
2. Add a `### Fixed` bullet under `plugins/claude-code-hermit/CHANGELOG.md`
`[Unreleased]`: rate table refreshed for the current generations.
3. Run `cd plugins/claude-code-hermit && bun test tests/pricing.test.ts`.
Do not commit. Do not bump `min_claude_code_version`. Do not add a hook, a
routine, or a `config.json` entry.