A Claude subscription and the Anthropic API are separate accounts with separate bills. Plenty of people find this out by creating an API key, pasting it into a tool, and getting credit balance too low back, despite paying for Max every month.
Until this release, that was the wall Wiki Pilot’s deep investigation hit. The pass that reads your code and rewrites the drafted wiki talked to the API directly, so it needed API credits, whatever plan you had.
Version 0.7.0 adds a second way to run it:
npx wikipilot init --ai --engine claude-code
If Claude Code is installed and signed in, the investigation runs there. It counts against your plan’s usage the way an ordinary Claude Code session does, and no API key is involved.
Same investigation, different hands
Nothing about what the agent does changed. It gets the same prompt as the API engine: work out what the product is and who uses it, trace the main flow through the code, then rewrite every drafted page from what it found, with snippets copied from real files and diagrams drawn from code it actually read.
What changed is who holds the tools. The API engine runs its own loop with its own read_file and write_page. The Claude Code engine hands the prompt to claude -p and lets Claude Code read and write with its own tools. When it finishes, any drafted page it never touched is removed, so you’re not left with placeholders that look like content.
One detail matters more than it looks. If ANTHROPIC_API_KEY is set in your shell or your .env, Claude Code bills that key instead of your plan, so wikipilot strips it from the environment before starting the run. Otherwise you’d ask for your plan and get billed for credits you don’t have, which is exactly the failure the engine exists to avoid.
What it’s allowed to touch
Nobody is at the keyboard during an init run to approve anything, so the permissions are a short allowlist and everything off it is refused:
- read, grep, and glob anywhere in the repository
- create and edit files inside
wiki/, and nowhere else git logandgit rev-parse, for stamping pages with the commit they describe- wikipilot’s own
screenshot,image, andbuildcommands
It can’t run your test suite, install packages, or edit source code. If you’d rather it did more, that’s a conversation to have in an interactive Claude Code session, not in an unattended one.
This engine is for your own repos on your own machine. A product built on top of Wiki Pilot should use the API engine with its own key, since a subscription belongs to the person who holds it.
A brief, screenshots, and your colours
The engine is the headline, but most of 0.7 is about making the pages read like a guide to this product rather than a generic tour of a codebase.
A wikipilot.md brief. The code says what the product does. It doesn’t say who reads the wiki, which journeys matter, or that customers, staff, and partners each need their own guide. A brief at the repo root says that, and can replace the preset’s section list outright. The agent treats every claim in it as a lead and checks it against the code. That turns out to be useful in its own right: on one marketplace the brief described a 24-hour refund window, the code enforced roughly 20 hours, and the page followed the code while the run summary flagged the mismatch for a human.
Screenshots. List the sites it may load, and the agent screenshots the pages it’s documenting with the Playwright your browser tests already installed. It looks at each image before embedding it and skips error states. It never clicks, types, or signs in, so signed-in and native-app screens come from images already in the repo. wikipilot screenshot and wikipilot image do the same thing by hand.
Your brand. The agent reads your Tailwind config or CSS variables, and the built wiki takes on the product’s colours and fonts. Each colour is nudged until links pass 4.5:1 contrast in dark and light mode. Mermaid diagrams use the same palette, so they no longer look pasted in from elsewhere.
Smaller things, all in the changelog: the build lists links between pages that lead nowhere, keys are read from .env.local as well as .env, every page opens with its title and description, and a failed AI pass makes init exit with code 1.
Trying it
npm install -g wikipilot@latest
cd your-repo
wikipilot init --ai --engine claude-code
wikipilot build && wikipilot serve
On a tiny repository the whole run takes well under a minute. A real product with a few dozen pages takes a good while longer, and draws on your plan’s usage like any long Claude Code session would. The guide has the flags, and the freshness contract works as before: every page records the files it came from and the commit it was checked against, so the next refactor tells you which pages to reread.