DustPlanner lives inside Hearthstone Deck Tracker. Pick a deck, see exactly which cards you are missing and how much dust that is, and get the least painful list of copies to disenchant to get there — without touching your decks, the meta staples or the cards the game refuses to craft.
Windows · needs Hearthstone Deck Tracker · free, MIT licensed · nothing else to install.
Three pieces, and none of them ever touches the game client. DustPlanner reads what Hearthstone Deck Tracker already knows and what the game writes on its own; you do the disenchanting, by hand, in the game.
Opened from HDT's plugin menu (Plugins → DustPlanner → Open DustPlanner), or straight to the deck selected in HDT with What am I missing for the selected deck?. English and Spanish.
Pick one of your HDT decks from the list or paste a deck code. You get the missing cards with their cost, the dust gap (what you have, what the plan gives, what is still missing), the cards the game will not craft and why, cards that come bundled with another one, and what leaves Standard at the next rotation.
Below it, the plan: each copy with its dust and a why — "golden copy not used in any deck", "Wild-only card and you play Standard" — plus alternatives (without the most painful pick, regular copies only) and the list of what was deliberately not proposed. Save the plan and it is matched against what you actually dust.
Dust and how fresh the export is, your rank, today's and the week's record, the plans waiting for you to disenchant, and a set-up checklist that tells you what is still missing (meta decks, an export, card data).
A saved plan is proposed. When you disenchant one of its copies and leave the Collection, the next export is imported on its own, the change is detected and matched: the plan becomes partial, then confirmed. Every detected change keeps the dust estimate and the plan it belonged to.
Win rate overall and per class for today, the last 7 or 30 days or all time, by mode and format, with the recent games: opponent, result, who went first, turns. Read from the Power.log files Hearthstone writes by itself — the same ones HDT reads.
What you play (format, classes, Wild), whether golden copies are kept, the guards (no plan without saved decks, no plan on a stale export). Paste a few competitive deck codes as meta decks: cards that appear in many of them are protected — nothing is scraped from the web. And the escape hatch: when the game shows a copy as Uncraftable but the plan still proposes it, block it here and it is never proposed again.
The same service serves a transparent 1920×1080 page for an OBS Browser Source: rank, session record, today's record, dust, last game — updated within seconds of a game ending. Options for size, side and a light theme.
DustPlanner-v….zip from GitHub Releases. About 50 MB: the service is bundled, so there is no runtime to install.DustPlanner folder into %AppData%\HearthstoneDeckTracker\Plugins\ .Requires Windows and Hearthstone Deck Tracker. The service listens on 127.0.0.1:8765 only (the next free port if that one is taken). Your data stays in %LocalAppData%\DustPlanner. The executable is not code-signed: Windows may ask once whether to run it.
DustPlanner never disenchants or crafts anything. It never clicks, types, injects or reads the game's memory on its own. It only consumes what Hearthstone Deck Tracker already holds through HDT's public plugin API, and the log files the game writes by itself. The plan is a recommendation; every disenchant is yours, by hand, in the game.
Conservative by default. Any game fact the tool cannot verify keeps a card out of the plan and says why: reward copies the game marks as Uncraftable, cards in sets the rule data does not know, premium slots whose dust value is unconfirmed. The plan always opens with the one thing no HDT API can tell it: open your pending packs first.
The full policy is in the repository's SECURITY.md. The code is MIT licensed and open: you can read exactly what it reads.
dustplanner need, plan, sync, history, games, collection block — everything the panel does, with --json for scripts.
The panel is a client of http://127.0.0.1:8765/api/*: overview, decks, need, plan, sync, history, games, prefs, meta, card overrides. Same payloads as the CLI.
A read-only Model Context Protocol server over stdio, so Claude Desktop or Claude Code can ask "what am I missing for this deck and what would you disenchant?" from your own data.
Source, docs and issues on GitHub.