Help
Getting started
Open your mapsStart a map
Open New map. Start with a blank canvas, a requirements file, or a GitHub repository. Public repositories need no token; private ones need a read-only GitHub token from Settings. Blank starts empty; the other sources open an editable local map you can review and refine.
Add an AI key
Drawing needs no key. AI features use your own Anthropic, OpenAI, Google Gemini, or OpenRouter key, added on New map or in Settings. It stays in session memory unless you explicitly choose to remember it on this device, and the provider bills usage directly.
Shape the canvas
Select a node to open its details and rename it, change its technology, category, or subtype. Drag from a node's edge handle to another node to connect them, then pick the connection type.
Rename and export
Select the map title in the toolbar to rename it. Export gives you PNG, SVG, JSON, YAML, a portable backup of the map, and a Markdown PRD.
Working the canvas
- Open a node
- Click it, or focus it and press Enter or Space
- Node menu
- Right-click a node, or press Shift+F10 while it is focused
- Edit a connection label
- Double-click the label on the connection
- Remove a connection
- Click the connection, then Remove connection
- Delete a node
- Node menu, then Delete twice — this also removes its connections
- Send a chat message
- Enter sends; Shift+Enter adds a line
- Close a dialog or menu
- Escape
When something goes wrong
“<Provider> rejected the API key”
The key reached your chosen provider (Anthropic, Google Gemini, or OpenRouter) and was refused. Check for a copied space or a revoked key, then re-enter it in Settings. This is different from having no key at all, which asks you to add one.
“<Provider> could not be reached”
The request never got an answer your browser could read. Check your connection first. OpenAI also answers a rejected key this way, so if your connection is fine, re-enter the OpenAI key in Settings.
“Auto-save is paused”
The same map changed in another tab or window. The banner offers to retry, reload the stored map, save your visible version as a copy, or overwrite the stored one. Nothing is discarded until you choose.
A backup will not restore
Restores validate the file before changing anything, so a rejected backup has left your maps untouched. Check you picked a StackHatch backup rather than a diagram export — JSON and YAML exports are diagrams, not backups.
A repository map looks incomplete
Repository scans read a bounded amount of evidence and say so when a scan was partial. Re-scan from the toolbar after the code moves, and treat the result as an explanation to review rather than a source of truth.
Back up your work
Maps live in this browser profile and do not sync to an account. Back up all maps from All maps or Settings before clearing site data, changing browser profiles, or moving devices.
Get help
Ask a question or report a reproducible bug on GitHub. Keep keys, private requirements, and private repository content out of public issues. StackHatch is MIT-licensed, open source, and developed in public.