TokenQuest

a zero-player RPG driven by your real Claude Code usage

Somewhere in your ~/.claude directory, a hero has been questing for weeks. Every prompt you typed was a spell. Every 3 AM debugging session, a night march. Every compaction survived, a memory reforged. TokenQuest reads that history — entirely on your machine — and hands you the character sheet you already earned: level, eight attributes, a class, a chronotype race, gear, a spellbook, and a place in the Halls of Heroes.

No account. No email. Nothing to watch — it plays itself while you work. The first thing it does is replay your history: “you're already Level 34.”

copies a message for your own Claude Code — your agent sets everything up, with your consent at every step

The short version of how this works

Do it yourself (the four commands)

curl -fsSL https://tokenquest.tehgaem.com/get/tq.py -o tq.py
python3 tq.py --dry-run                          # see EXACTLY what a push would send (sends nothing)
python3 tq.py --register --handle YourHeroName   # claim your hero (prints your recovery passphrase ONCE)
python3 tq.py --play                             # your game, at http://127.0.0.1:8123 — pushes every 5 min while it runs

Optional: --mirror on hosts your living panel at an unlisted, rotatable link (and doubles as your history's backup) · the printed cron line keeps your hero fresh when you're not playing · --reclaim brings your hero to a new machine. Runs happily on a VPS — if you use Claude Code over SSH, run it there; VS Code forwards the port automatically.

What leaves your machine — the whole payload

This is a real --dry-run output, in full. Fourteen aggregate measurements, a motto, an avatar. No project names, no file paths, no prompt text, no daily series, no histograms. The server derives your stats from these — the formulas live in one place, so the agent on your disk never needs updating.

{
  "measurements": {
    "user_prompts": 821,          "total_active_min": 7187,
    "avg_session_min": 37,        "active_days": 24,
    "corpus_days": 25,            "tokens_total": 3428299977,
    "tokens_io": 14294654,        "user_words": 30004,
    "user_chars_typed": 171303,   "compactions": 0,
    "agent_launches": 8,          "workflow_uses": 0,
    "peak_day_io_tokens": 1481071, "cost_io_usd": 344.97
  },
  "motto": "120h adventured · 14.3M tokens slain",
  "avatar": "⚔"
}

The opt-in mirror sends more (your panel's display feed) — scrubbed first: project names, the weekday-hour matrix and unrecognized MCP tool names never leave your box. --dry-run shows that payload too when the mirror is on. Off by default.

Fair warning about the paste-a-prompt method

Pasting instructions into your agent is exactly the pattern security guidance tells you to distrust — so distrust it: the message below tells your Claude to download tq.py, read it, and explain it to you before anything runs, and to stop if anything looks off. If you'd rather stay hands-on, the four commands above do the same thing.

the Halls of Heroes · read tq.py · bundle version
TokenQuest is part of Questful — every real-world signal deserves a hero.