All docs pages: Reference

Reference

Troubleshooting and where data lives

In short

Everything Wanigan keeps is in one folder on your Mac, and nothing is written into your projects unless you click something that says so first. When something goes wrong, the fix is usually one of the short entries below, and the logs say the rest.

On this page

Where data lives

When an app hides its data, you cannot back it up, move it or tell what it knows. Wanigan keeps all of its own in ~/Library/Application Support/Wanigan 2/, and the demo keeps its in ~/Library/Application Support/Wanigan 2 Demo/. Your projects, boards and history live there, not in the app, so replacing the app keeps them.

The main things. [The data folder, exactly](#data-folder) lists the rest.
In the folderWhat it is
wanigan.dbThe database: projects, cards, sessions, activity, decisions, accounts, saved views, the design layer, phones and Jev’s calls.
core.log, core.out.logThe core’s log and what it printed. See Reading the logs.
attachments/Images and files you gave a session, a reply or Talk to Wanigan.
live-recordings/Recordings of the live view: each clip, its key frames and step log, a project’s last five.
voice/The speech models you downloaded, and voice’s settings.
worktrees/Each card’s own checkout, when it works on its own branch.
gemini-home/Wanigan’s own Gemini home, holding its hooks, so your ~/.gemini is never written.

Not in it: your agents’ conversations and sign-ins, which stay where the agents keep them (History reads them and never writes), and local models, which LM Studio keeps in ~/.lmstudio/models.

What is written into a project

Nothing is written into a project to make Wanigan work: hooks, instructions and the wanigan command are handed to each session as it starts. These do write, each only when you click, and each says first what changes:

  • Copying a skill to a project, or adding a project’s MCP server, writes there.
  • The site helper is written into the site when you install it, with a line in .git/info/exclude so git never sees it, and removed on your click.
  • A card’s own branch and git’s record of its worktree are in your repository, as with any git worktree; the worktree’s files are in Wanigan’s data folder.
  • What you save yourself: a file in the code editor, words saved into a template with Look in its template…, a template copied into your theme with Create override…, and commits, merges and stashes in Changes.
  • Make it real saves into the site’s own database, through its core, as you; not into your files.

The core that keeps running

A terminal that dies with the window loses an agent’s work. So sessions run in Wanigan’s core, a separate process that keeps the database and every terminal, and keeps going after you quit.

  • Quitting with sessions running asks first: “2 sessions keep running. Wanigan won’t notify you while it’s closed.” Quit, Keep open, or tick Don’t ask again.
  • It exits by itself ten minutes after the last session ends with no window open, and not while an AI review, a Jev read or a Talk to Wanigan answer is running, or while phone access is on. The demo’s core ends a minute after its window closes.
  • A terminal ends with the core it runs in, so stopping or restarting the core ends every session.
  • Wanigan’s mark at the top of the rail shows the core’s state on its corner: nothing while it runs, a ring while it connects, a red dot when it is gone.

Installing and opening

npm install fails on node-pty or better-sqlite3

Building from source compiles the terminal and database modules for Electron. Install the Xcode Command Line Tools (xcode-select --install), make sure you are on Node 22.23.2 (nvm install in the folder reads .nvmrc), then run npm run rebuild.

The window never opens

If Electron behaves like Node and prints “Wanigan cannot start with ELECTRON_RUN_AS_NODE set”, your shell sets that variable; a terminal inside a code editor can. Start it without: env -u ELECTRON_RUN_AS_NODE npm run dev.

macOS will not open the app

The app is signed ad hoc and not notarized, so macOS says it could not verify Wanigan 2. Click Done, then open System Settings › Privacy & Security, scroll to Security and click Open Anyway beside the note about Wanigan 2. The steps, with why, are in Install the app.

“Wanigan’s core could not start”

A band above every view gives the reason and names the log, with Try again and Show the log in Finder. Nothing works until the core starts, because it keeps the board and runs every session. In a build from source, a terminal or database module built for another Node fails this way: run npm run rebuild.

The live view

The site is not shown

The live view says why in the page’s place, with what to do; nothing is changed without your click. The usual causes:

It saysWhat to do
This site isn’t running (ddev says it is paused or stopped)Start it runs ddev start in the project’s folder, showing its lines, then loads the page.
Docker isn’t runningStart Docker, then start the site.
A certificate it names: made by another machine’s mkcert, kept in the project, ddev’s router answering for another project, expired, for another name, or no mkcert authority on this computerWhat that one says: usually restart the site (ddev restart); for a certificate kept in the project, remove it; with no authority yet, run mkcert -install, then restart.
A Lando site, or a dev script, that does not answerStart it the way it names (lando start, or the dev script); Wanigan does not start those.

Every case, with its exact words, is in When the site is not shown.

A helper another Wanigan set up

A helper set up by another Wanigan (another Mac, a reinstall, a test) answers only to that one. Layers says “This site’s helper answers to another Wanigan”, and Go to says so too; Set up the helper… sets it up again for this one (more).

Agents and sessions

The message box refuses a Codex session

Codex reports nothing until its first turn begins, so the composer says “Answer any startup questions and send your first message in the Codex terminal.” Do that; the composer works for the turns after. A Codex session without its hooks is answered in its terminal, and says so.

The message box refuses Gemini CLI’s first message

Gemini’s first screen may ask you to sign in or to trust the folder, so its first message goes in its terminal; the composer works from the next one. In a folder it has not been told to trust, it loads no hooks until you answer, and Needs you shows it as not yet started.

A usage limit stopped a session

The session reads Hit its limit, and Needs you lists it. For Claude Code, Continue on carries the conversation and its card to another account with room, after one confirmation, sending the whole conversation again; or Wait for the reset. A Codex conversation continues only in the account it lives in. Gemini CLI draws its own dialog (keep trying, switch model, or stop), answered in its terminal. A local model has no plan limits at all.

An update while sessions run

The new version finds the old core still running and asks: “Wanigan’s core is from another build”. Restart ends the live sessions, since a terminal ends with its core. Keep using it leaves them running and talks to the older core, where what changed may not work until it restarts. Update between pieces of work if you can.

Voice

The microphone does not listen

The mic says why, beside the box, with what to do and Try again:

It saysWhat to do
Wanigan can’t use the microphoneOpen System Settings › Privacy & Security › Microphone, turn Wanigan on, then try again.
No microphone was foundConnect one, or choose an input in your sound settings.
The microphone could not startAnother app may be using it: close that app, or choose another input.
The speech engine stoppedTry again; it gives the engine’s own reason.

The first press offers to download a speech model; nothing listens until one is on this computer (Settings › Voice).

Reading the logs

The logs are in Wanigan’s data folder. They contain paths on your Mac, your projects’ among them, so read one before you attach it to an issue, and cut anything you would not post.

FileWhat it holds
core.logOne line per event, each with its time: the core starting and its process, why it could not start, internal errors with their stack, hooks that failed, phone notifications that failed, and when and why it stopped.
core.out.logWhat the core printed: all a core that dies before it can write its log leaves behind.
core.failed.jsonWhy the last core could not start; gone once one starts.

For a problem in the window itself, View › Wanigan’s Developer Tools (On a Mac, ⌥⇧⌘I; on Windows and Linux, Ctrl+Alt+Shift+I) opens the window’s own console.

Where to ask

Still stuck? An issue helps most with your macOS version and what claude --version and codex --version print. A security problem goes privately, never in a public issue.

Open an issue on GitHub, or report a security problem from the repository’s Security tab.

In depth

The data folder, exactly

In the folderWhat it is
owner.token, core.jsonHow the window and wanigan outside a session find the core and prove they are you.
bin/The wanigan command every session has on its PATH.
hooks/The hook relay and the settings handed to each Claude Code session, with its file for wanigan mcp.
scrollback/Each session’s terminal output, up to 8 MB, so an ended session can be read after a restart.
checkpoint-objects/, checkpoints/Each turn’s checkpoint, in Wanigan’s own object store, and the temporary indexes used to take one.
live-shots/, live-layer/, live-library/Cards’ before and after screenshots, the design layer’s verification pictures, and the component library’s pictures.
jev.key, phone-push.jsonJev’s key and this Mac’s push key, readable only by you.
trash/skills/Skills you removed, to take back.
chat/, probe/Empty folders where Talk to Wanigan answers about every project, and where agents are asked who they are signed in as, so neither runs inside a project.
electron/The window’s own: settings.json, updates.json, whether to ask before quitting, and its storage.

The core’s sockets, core.sock and hooks.sock, are in the folder too, unless its path is too long for a socket; then they are in a short folder of your own in the system’s temporary folder.