Free to read. $2.99 to be told.
Everything that answers a question you thought to ask is free, and stays free — the
dashboard, the one-shot reports, and craft configure, which creates the GA4 property
for a domain and hands you its tag.
Two things run when you are not there: craft watch, which checks the numbers
against their own recent normal and tells you what broke, and craft mcp, which lets an
assistant read the site. Those two are the subscription.
- craft configure — creates the property, prints the tag
- The dashboard — seven panels, realtime feed, achievements
- One-shot reports — overview, pages, portals, realms, live
- Every property you save, five palettes, synthetic-data mode
- craft watch — drops, spikes and silences, to the terminal or Slack
- craft mcp — ten read-only tools for Claude Desktop or any MCP client
- Everything in Miner, which is most of it
- One subscription, every machine you sign in on
Pay with the same email you sign in to Google with, then
craft login on any machine. That is the whole of it.
--demo mode that needs no subscription.Every command, and which side it is on
| Command | Plan | What it does |
|---|---|---|
| craft | Free | The dashboard. With no property saved it runs on synthetic data |
| craft configure | Free | Creates the GA4 property and web stream, prints the tag with the real measurement id |
| craft login · props · use | Free | Sign in, list properties, pick the default |
| craft overview · pages · portals · realms · live | Free | One-shot reports that print and exit |
| craft theme · demo | Free | Palettes, and the whole dashboard on synthetic data |
| craft watch | ★ Anacrafter | Compares the last complete day against its own normal and reports what moved |
| craft slack | Free | Picks the channel craft watch posts to — free to set up, though the watch that uses it is not |
| craft mcp | ★ Anacrafter | Serves the same numbers over the Model Context Protocol |
Starting one from the browser
Take the button above. Stripe asks for an email — use the one you sign in to Google with, because that is what hands the payment to your account afterwards. Then, on any machine:
# already signed in? craft subscribe --check does the same craft login
Signing in is what claims the payment. There is no licence key, no code to paste, and nothing to keep anywhere — the account is the receipt. If you paid with a different email than the one on your Google account, send us both and we will move it across.
Starting one from the terminal
Two commands, and no email to match up: craft subscribe ties the payment to the
signed-in account before it ever opens Stripe. The first line is only for a machine that has not got
craft yet.
Then:
It opens the same Stripe page, waits there for the payment to clear, and writes the flag itself when it does.
What the payment knows about you
One row: the Stripe customer, the subscription, its status, and the email the card was paid with — which is the key your Google account is matched against, once and one way. An unowned payment can be adopted by an account with the same email; an owned one can never be read by another. After that the account id is the only key, so changing your email later changes nothing.
Nothing about your analytics goes anywhere near it. The binary has no telemetry, and the subscription lookup knows your site does not exist.
A second machine
# the same Google account is the whole of it craft login craft subscribe --check
--check only looks up where the account stands. It opens no browser, so it is also the
one to run from a script or over SSH.
The gate is a line in your config
It is one supporter = true in a TOML file you own, in a binary you can rebuild from
Apache-2.0 source. We are not going to pretend otherwise, and there is no phone-home, no licence
check on launch beyond the one that keeps your own subscription current, and no telemetry anywhere
in the binary.
So the subscription is an honest ask rather than a lock: $2.99 a month for the two commands that do work while you are asleep, from the people who wrote them. Trouble with a payment, or a refund — [email protected].