model-audit Claude Code SKILL

A Claude Code skill, installable as a plugin, that audits which Claude model handled your sessions. Use it to confirm your coding requests ran on the model you selected (Fable 5, Opus 4.8, and so on) and were not silently served by a different one.

model-audit skill README on GitHub

View on GitHub

Why

Claude Code’s built-in commands do not answer “which model produced this response?”. /usage shows plan quota, /cost shows spend, /context shows tokens — none report model provenance.

The ground truth is already on your machine. Claude Code writes every session transcript to ~/.claude/projects/, and every assistant message carries a "model" field with the exact model ID that generated it. model-audit reads that per-message audit trail and rolls it up per session.

Install

As a plugin (recommended):

/plugin marketplace add vijaykodam/model-audit
/plugin install model-audit@model-audit

Or from your shell, outside a session:

claude plugin marketplace add vijaykodam/model-audit
claude plugin install model-audit@model-audit

Run /reload-plugins (or restart Claude Code) to activate.

Use

/model-audit          # audit the last 7 days (default)
/model-audit 30       # any number of days
/model-audit all      # full session history

Example output

Claude Code sessions active in the last 7 day(s)

LAST ACTIVE        PROJECT                       SESSION                          MODELS (responses)
2026-07-03 09:47   -vijay-projects-project3      85f5d9a6-ec9f-4dc2-...           claude-fable-5(24)
2026-07-02 11:18   -vijay-projects-project1      4a347153-4458-47f8-...           claude-fable-5(278)
2026-07-02 07:53   -vijay-projects-project1      1a89419d/agent-ab3a2f9e5caae     claude-opus-4-8(21)
2026-06-30 18:06   -vijay-projects-project3      a4b9c607-b1e8-4c92-...           claude-opus-4-8(128)

Totals across all sessions:
     598  claude-fable-5
     504  claude-opus-4-8
      51  claude-haiku-4-5-20251001

Model counts are per response, so a session that changed model mid-way shows both models with their proportions. A silent downgrade shows up as an unexpected model count inside a session you expected to be on one model. Subagents appear as separate rows (the SESSION looks like 1a89419d/agent-...) — they legitimately run on different models but never handle the main conversation turns.

Notes

  • Everything runs locally. It is a small shell script reading files on your own machine; nothing is sent over the internet.
  • No dependencies beyond standard tools (bash, find, grep, sed, awk). Works on macOS and Linux.
  • Apache-2.0 licensed.

For full documentation and the source, see the GitHub repo.