Ship features that match the user's Claude Code version. Pick a version, search the surface.
Three ways version drift bites — click to see the answer
Static JSON at stable URLs — no API, no key, no install. A version snapshot lists only the symbols available at that version, so presence is the answer.
# Does --safe-mode exist in 2.1.169? (exit 0 = yes) curl -fsSL https://claustodian.dev/data/versions/2.1.169.json \ | jq -e '.symbols[] | select(.symbol == "--safe-mode")' >/dev/null \ && echo available || echo "not available"
# stdlib only import json, urllib.request url = "https://claustodian.dev/data/versions/2.1.169.json" with urllib.request.urlopen(url) as r: snap = json.load(r) print(any(s["symbol"] == "--safe-mode" for s in snap["symbols"]))
// zero dependencies, Node 18+ const url = 'https://claustodian.dev/data/versions/2.1.169.json'; const snap = await fetch(url).then((r) => r.json()); console.log(snap.symbols.some((s) => s.symbol === '--safe-mode'));
Fuller clients, all runnable and dependency-light: quickstart.sh, claustodian.py, claustodian.ts. Building on top of this with an agent? Point it at llms.txt.
Loading dataset…