Everything Wanigan does.

The editor for your sites, the agents that work beside it, and the board that keeps track of both. Each feature links to its docs; each is tied to a test in the app’s own feature table.

The editor

Change the page itself.

Your local site, inside Wanigan, edited where you see it. The same moves on Drupal and WordPress.

Made by

See what made every part.

Point at anything and know where it came from, before you change it.

Components

What the site can place.

The site’s own building blocks, pictured in its own theme.

Hand it to an agent

Show it, and an agent starts on it.

The fastest way to tell an agent what’s wrong is to show it.

Developer tools

The developer’s tools, beside the page.

Everything you would open a browser’s tools for, docked under the page you are editing.

Drupal and WordPress

One editor, every way a site is built.

Through each platform’s own core, with adapters for the plugins and builders sites really use. More platforms are coming.

Help

Every view explains itself.

So you know what you are doing before you do it.

Agents and the board

Your agents, without losing track.

A board for every project, one agent per card in a real terminal, nothing done without your approval, and one list of what needs you.

Your agents on a board, in a minute and a half

Claude Code and Codex on a board, Needs you, review and git, in the demo. The captions are in the picture, and its music starts muted.

Docs: the board →

01The problem

Two or three agents is where you lose the thread.

  1. An agent sits on a permission prompt, and you don’t notice.
  2. Another says it’s done, and it isn’t.
  3. A change shows up, and you can’t tell which session made it.

A better model doesn’t fix that, and more terminals make it worse. It’s a process problem.

02The workflow

The workflow.

This is the part worth taking away. It works with any tool, even a whiteboard.

  1. Decide what “done” means first.

    Write acceptance criteria on the card before anyone starts. The agent is told its card when it starts.

  2. Agents file work. They don’t pick it.

    What an agent finds lands in an Inbox. You accept it to Ready, and only then can an agent take it.

  3. One agent per card, in a real terminal.

    Start Claude Code, Codex, Gemini CLI or a shell on a card. It holds the card while it runs, on its own branch if you want.

  4. Nothing reaches review without evidence.

    A file, a link or a note: a test log, a screenshot, a URL. No evidence, no Review.

  5. Only you mark it done.

    Approve it, or send it back with a note the agent sees. If a done card turns out not fixed, reopen it: what’s still wrong becomes a new criterion.

  6. One list says when you’re needed.

    Needs you gathers permission prompts, reviews, questions, failures and finished turns from every project, most urgent first.

The lineup.

You decide what gets built and what counts as done. Agents file cards and do the work in real terminals, Jev reads what comes in, and nothing reaches Done until you approve it.

  • YouYou file a card. Yours go straight to Ready, unless you put them in the Inbox.
  • AgentsAgents file what they find. What an agent files always lands in the Inbox, for you.
  • JevJev reads each new card. What to do with it, how much it matters, and whether it repeats another card. Advice, unless this project lets Jev accept confident cards.
  1. You

    Inbox

    Accept it to Ready, archive it, or start a session on it, which accepts it. Agents cannot take a card from the Inbox.

    Rule 2you accept
  2. The board

    Ready

    Accepted work. Acceptance criteria say what done means, and the agent is told them when it starts.

    Rule 1a session takes it
  3. Agents

    Working

    Claude Code, Codex or a shell, in a real terminal that keeps running when the window closes. It claims the card for 30 minutes at a time, renewed while it runs.

    Rule 3with evidence
  4. You

    Review

    Only with evidence: a file, a link or a note. Ask Claude to check it against each criterion if you like; that is advice.

    Rule 4you approve
  5. The board

    Done

    Only you approve. An agent can never mark its own work done.

    Rule 5

When it goes wrong

  • A session stops back to Ready

    Its claim is released and the card returns to Ready. Notes, evidence and history stay on the card.

  • Send back back to Ready

    Not right yet? It goes back to Ready with your note, and the next session is told it.

  • Reopen back to Ready

    Done, but not fixed? Reopen it and say what is still wrong; that becomes a new criterion.

  • Needs you Rule 6

    Permission prompts, questions, failures, finished turns and quiet sessions, from every project, most urgent first.

03Your agents

Claude Code, Codex or Gemini CLI, on your own accounts.

Wanigan runs your installed agent CLIs in real terminals. They use your existing accounts or the local model you select; Wanigan does not sell model usage.

  • Each project has its own accounts, and each session can pick its agent, account, model and effort.
  • Claude Code and Codex accounts in recognized folders are found on disk and shown with their reported sign-in.
  • When Claude Code hits a usage limit, continue the same conversation on another account in one click, with its card.
  • Close the window and your sessions keep running: a separate core process owns every terminal. Open Wanigan again and each one is where you left it.

Codex’s usage limit is read from its own record but has not yet been seen from a real account, a Codex conversation continues only in the account it lives in, and Codex asks you to approve each `wanigan` command its agent runs. Gemini CLI has not yet run a real model turn here. A plain shell works too. Restarting your Mac, or quitting Wanigan’s core, ends running sessions; a Claude Code or Codex conversation can then be resumed from History.

Starting a session. Current beta · demo
The New session dialog: Project Northstar Storefront, Agent Claude Code, Codex, Gemini CLI or Shell, Account Default, Model Default, Effort from Low to Max, and Card, None, a one-off session, with Start Claude Code.
  1. The agent: Claude Code, Codex, Gemini CLI or a shell.
  2. Its account, model and effort, per session.

04Jev, optional

Jev triages the Inbox. It’s optional, and it’s advice.

Jev is TypeSafe’s decision model. With a TypeSafe key, it advises what to do with each new card, how much it matters, and whether it repeats another.

Each project chooses

Off
Jev reads nothing in this project.
Reads
Jev reads every new card and suggests. It changes nothing.
Reads and accepts
Jev may also move a confident card to Ready, and only one that already has acceptance criteria. Only if you pick this.

No key, no Jev: nothing is sent. Jev reads card fields and similar cards’ titles, never files or transcripts; entered text may contain code. Calls are recorded, and missing usage or cost stays unknown.

Jev’s read on a card. Current beta · demo
Jev suggests Later at 74%: real, but not worth doing now. Ready, Later and Close probability bars, a Read again button, and a note that Jev reads card fields, which may include code you entered, and not project files or transcripts.

05Review

Evidence, a second opinion, then your call.

A card reaches Review only with evidence. You read it beside the card’s criteria, then approve it, or send it back with a note the agent sees.

For a second opinion, click AI review. Claude Code checks each criterion with read-only tools, names the file and quotes the exact line that shows it, and Wanigan checks every quote against the file. It’s advice. It never moves the card.

Changes shows uncommitted work, or everything a card’s branch changed, in syntax colour, unified or side by side. Mark each file Viewed, and send notes on lines to the agent as one message.

A card in Review. Current beta · demo
The card “Free shipping banner over $75” in Review, its drawer on the Review tab: a What should change? box holding a note for the agent, above Send back and Cancel; an AI review marked “Needs your judgment”, with steps to check it yourself and each criterion checked against the evidence; and the evidence, a file, a pull request link and a note.
  1. Only you approve it, or send it back with a note.
  2. AI review is advice. It never moves the card.

Every turn is a checkpoint.

Each turn an agent takes leaves a checkpoint, so you see exactly what that turn changed, file by file, down to the word. Checkpoints are kept in Wanigan’s own store, never in your repository’s .git.

Undo the last turn in a card’s own worktree once the agent is idle. Wanigan checkpoints first, so you can redo it, and refuses if anything else has changed since.

One turn’s diff, word by word. Current beta · demo
Turn 3 of a Claude Code session: 2 files changed, plus 15 and minus 1 lines. The diff of LowStockBadge.tsx adds a LOW_STOCK constant and uses it in place of the number 4, with the changed words highlighted.

06Needs you

One list says when you’re needed.

Needs you gathers what’s waiting on you in every project into one list, ranked by what it’s blocked on, and tells you in the window or with a notification.

A permission row spells out hidden or lookalike characters. Replying in place works with Claude Code and Gemini CLI, and with Codex once its own hooks have reported.

Ranked by what it’s blocked on

  1. Asking permission: the exact command or file
  2. Hasn’t started: an agent that never reported in
  3. Two sessions, one file
  4. A usage limit: continue on another account
  5. Ready for review
  6. Failed or interrupted
  7. Gone quiet
  8. A question: from an agent, on its card
  9. Finished a turn: reply in place
Needs you. Current beta · demo
Needs you: two agents asking permission, each showing its exact Bash command and Answer in terminal. The second warns “This command contains hidden characters” and shows a zero-width space as U+200B inside a download URL. Below, two agents that hit their usage limit: one with Continue on Default and Wait for the reset, the other, a Codex conversation, only with Wait for the reset.
  1. A zero-width space in the URL, spelled out as U+200B.
  2. A usage limit: continue on another account.

07The desk

The rest of the desk.

Watch shows up to twelve live terminals at once, the ones you pin or else the ones that most need you first. A tile never resizes its session; click one to type into it.

Watch: live terminals side by side. Current beta · demo
The Running view in its Watch layout, 6 live sessions as tiles: Checkout button has no accessible name, Free shipping banner and Low-stock badge on product cards, each Working with Claude Code, and Search endpoint with cursor pagination, Waiting with Codex, each tile its live terminal under the session’s title, state, account and age.
History and resume
Every earlier Claude Code and Codex conversation in a project, from any account. Read one, or resume it live.
Tokens
What each conversation used and has in context now, from the CLI’s own transcript. No dollars.
Attachments
Paste, drop or pick images and files into any session or reply. Kept in Wanigan’s data, never in the project.
Decisions
Rules for a project, like “use pnpm”, told to every session that starts there.
Search
⌘K finds projects, cards, sessions and commands, and what agents said in their sessions.
Pull requests
An approved card’s branch, pushed and opened with gh, after showing exactly what goes where.
Talk to Wanigan
Ask what needs you. Claude Code answers from Wanigan’s records, read-only, using a turn of your plan.
Skills and MCP servers
Every skill and server your agents load, secrets hidden, changed only after you see what changes.

08On your phone

Answer it from your phone.

Optional. See what needs you and answer it, type into a running session or start a new one, and work your boards, from your phone. It reaches your Mac over your own Tailscale network: nothing is put on the internet, and there is no Wanigan server in between.

  1. Install Tailscale on your Mac and on your phone, signed in to the same account. It is free for personal use.
  2. In Wanigan, Settings › Phone › Turn on phone access. It shows the one command it runs before it runs it.
  3. Show a pairing code and point your phone’s camera at it. On an iPhone, add Wanigan to your Home Screen and enter the code there.
  4. On the phone, This phone › Turn on notifications.
Settings › Phone. Wanigan 2
The pairing panel in Wanigan’s settings on the Mac: a QR code, three steps, and the one-time code.
  • Needs you on a phone: two permission requests showing the exact command, one with a hidden character spelled out, and sessions that hit their usage limit.
    Needs you
  • A running session on a phone: its terminal fitted to the screen, keys a phone keyboard lacks, Stop, and the tab bar.
    A live terminal
  • A project board on a phone: one column at a time, its cards, and New card.
    A board
What a phone reaches
Needs you, sessions and their terminals, new sessions on any project, and your boards. Never settings, accounts, git, keys or your Mac’s files.
Pairing
A code works once, for ten minutes. Forget cuts a phone off at once; turn Can act off and it can only read.
Notifications
Encrypted to your phone, saying what the Mac’s banners say. On an iPhone they come to the Home Screen app.
What it needs
Your Mac awake, and Wanigan’s core running; it stays up while phone access is on. Nothing to install from an app store.

Tested in a phone-sized browser; not yet on a real phone over a real Tailscale address.

09Git

Git, in the same window.

Review what an agent did, then commit it, push it and resolve its merge conflicts without leaving Wanigan.

Stage
Whole files, one hunk, or only the lines you tick. Discarding asks first.
Commit
With a secret scan first: a key in what you staged stops the commit until you say it isn’t real. Write with Claude drafts the message from the staged diff, on a click.
History
A graph of every branch and merge. Commits from a card’s branch carry its key.
Branches and stash
Create, switch, merge and delete branches. Stash with untracked files, then apply, pop or drop.
Fetch, pull and push
Pull fast-forwards unless you choose to merge. Push shows exactly which commits go where, scans them, and is never forced.
Merge conflicts
Ours, theirs and where both started, side by side. Pick per conflict, edit by hand, or ask the card’s agent. Abort puts everything back.
Pull requests
The branch’s pull request with its checks and reviews, through your own gh, and a new one in one step.
Agents at work
Anything that would change files under a running agent waits until it stops, and says why.
Commits, on every branch. Current beta · demo
The Changes view’s Commits list for Northstar Storefront on All branches: a graph of branches and merges beside 16 commits, several tagged with card keys such as NS-10 and NS-3 and branch names such as wanigan/ns-10, each with its author, how long ago and its short hash.
  1. Every branch and merge, as a graph.
  2. A commit from a card’s branch carries its key.
A merge conflict. Current beta · demo
Conflict 1 of 3 in src/cart/copy.ts, where both sides changed it: Ours, Where both started and Theirs side by side, the choice “Both, ours first”, and its result below. Above, buttons take ours or theirs for the whole file, or mark it resolved.
  1. Ours, theirs, and where both started, side by side.
  2. Pick per conflict, or edit it by hand.
A commit, stopped by the secret scan. Current beta · demo
The commit box with the message “Give the pay button an accessible name”. Below it a warning: 1 possible secret in the staged changes, nothing has been committed, a Stripe live key in src/checkout/stripe.ts line 4 shown redacted, a checkbox “I have read it, and none is a real credential.”, and Cancel and Commit anyway.
  1. A key in what you staged stops the commit.
  2. It goes through only once you say it isn’t real.

10Security

Built assuming agents read things you didn’t write.

Agents read web pages, issues and files from strangers. So Wanigan shows you exactly what an agent asks before you allow it, and gives each agent only the rights it needs on the board.

  • The exact command, spelled out.

    A permission prompt in Needs you shows the exact command or file. Hidden characters, direction controls, terminal escapes and lookalike letters are spelled out, so a zero-width space in a URL shows up as ⟨U+200B⟩ instead of slipping past you.

  • Agents can’t approve or pick their own work.

    An agent can file a card but can’t take one from the Inbox, and can’t move a card to Done. Wanigan’s core enforces this, not the window.

  • Each agent acts only as itself.

    Every session gets its own token. Its wanigan command can act only as that session, inside its own project. The core keeps only the token’s hash.

  • Local core. Optional phone access.

    The core uses a 0600 Unix socket in your 0700 folder. Optional Phone access adds a 127.0.0.1:47832 gateway, served over HTTPS through your Tailscale network. Paired device tokens identify phones; Can act permits sessions, terminal input and card moves.

  • Your logins stay with the CLIs.

    Wanigan asks Claude Code and Codex who is signed in without reading, copying or storing their credentials. Gemini setup copies only sign-in-method and trusted-folder metadata into its own home; credentials and your Gemini settings stay untouched.

  • You choose what connects.

    No Wanigan account or telemetry. You control update checks, Jev, Phone access, notifications and model downloads. Started agents run with your permissions; a phone with Can act can start and type into sessions.

The honest limit

Agents run with your permissions, exactly as in your own terminal. Wanigan watches and records them; it does not sandbox them. Its rules stop a confused agent, not a hostile one: anything running as your user can read Wanigan’s data folder and talk to its core.

Found a security problem? Please report it privately from the repository’s Security tab, not in a public issue.

What leaves your Mac.

The connections Wanigan makes, and the services its agents use.

Wanigan and Phone

Update checks use GitHub’s public releases; Jev uses TypeSafe when enabled or testing its connection. Jev card reads send card fields, the project name and up to five similar cards’ keys, titles and statuses. Those requests read no files or transcripts, though entered fields may contain code.

Phone is off until enabled. Paired devices read boards, Needs you and selected terminal output, normally over your Tailscale network; Can act permits sessions and typing. Separately enabled notifications send device-encrypted text through the browser’s push service. Protect an acting phone like your terminal.

Voice input downloads its speech model from Hugging Face once, when you ask, each file checked against its SHA-256. After that it works offline: speech becomes text on this computer, and the audio never leaves it.

Your agents

Claude Code, Codex and Gemini CLI run as you, using configured services; gh sends pull requests to GitHub. Local models route Claude Code or Codex to LM Studio or Ollama on this Mac. Wanigan queries both for models and uses LM Studio for requested downloads. Agents and tools can still make other network connections.

Desktop actions start sessions, AI review, Draft and Talk to Wanigan. Can act permits Phone sessions and input too. Account and usage checks use Claude Code’s and Codex’s own CLIs.

Your data

SQLite, attachments and card worktrees stay in ~/Library/Application Support/Wanigan 2/. Local storage does not stop the connections above.

Routine launches keep runtime configuration outside projects. Chosen MCP settings, skill copies, setup commands and Git actions can change files. Git registers card worktrees.

Coming next

Coming next.

What isn’t done yet, and what we don’t fully understand yet →