All docs pages: Agents and the board

Agents and the board

The board, sessions and Needs you

In short

Every project gets a board of cards that move from Inbox to Done, and real agent sessions work them in terminals that keep running when the window closes. Needs you gathers everything waiting on you, from every project, in one ranked list.

On this page

Why a board

Two or three agents in, you stop knowing what each one is doing, which one waits on you, and what is really done. The board says what the work is and where it stands; sessions are the agents at work, in real terminals; Needs you says what waits on you, across every project. Nothing reaches Done until you approve it.

Projects and keys

A project is a folder you open, usually a repository, and Wanigan writes nothing into it. Its key comes from its name (Northstar Storefront is NS), and its cards are numbered under it: NS-1, NS-2. Change the key, up to six characters, in the project name’s menu › Project settings…, and every card is renamed. Install and first launch shows how to open one.

Cards

A card is one piece of work: a task, bug, feature or idea. It has a title, a description agents read when they take it, acceptance criteria that say what done means, and a priority: P0 drop everything, P1 high, P2 normal, P3 low. Only you tick or remove a criterion; an agent may only add one. Agents are offered P0 work first.

A card on the board shows its key, title and priority (P2 has no mark), its time in the column, its criteria met, and flags such as Question or Sent back. A Working card names the agent holding it and whether it runs; one click opens its terminal.

File a card

  1. Open New card

    Press C anywhere, click New card in the board’s toolbar, or + on the Inbox or Ready column.

  2. Fill it in

    Write a Title and Description, then each criterion, pressing Enter after each. Choose Type, Priority and Column: Ready by default, or Inbox to leave it waiting for you. Draft with Claude can write up a rough note for you (Draft with Claude).

    New card for Northstar Storefront: a title, a description, two criteria, Type Bug, Priority P1 and Column Ready. Current beta · demo
    A dialog titled New card with a title, a description, a Draft with Claude button, two acceptance criteria above an empty criterion field, and switches for type, priority and column set to Bug, P1 and Ready. Cancel and Create card are at the foot.
  3. Create it

    Click Create card, or press On a Mac, ⌘↩; on Windows and Linux, Ctrl+Enter to create and open it. If Jev is set up, it reads the card a moment later (Jev).

Board and List

The toolbar switches between Board, a lane for each step, and List, every card in one table, archived ones too. Both share Filter cards, the type chips and a Priority, agent menu. The board adds Order; in Your order, drag cards or move them with On a Mac, ⌘; on Windows and Linux, Ctrl and an arrow.

Saved views keep a filter, card types, priority, agent and order under a name. 1 to 9 apply them, and the toolbar says when the board has changed since, with Update and Revert. A line above the lanes counts what agents did since you last looked.

Northstar Storefront’s board in the demo: the toolbar, then five lanes from Inbox to Done. Current beta · demo
The board. A toolbar with Board and List tabs, a filter field, chips for the four card types, a Priority, agent menu, Views, an order menu, How this works and a blue New card button. Below Jev’s strip, five lanes: Inbox, Ready, Working with a badge saying how many cards are held and live, Review, and Done. Cards show keys such as NS-3, priority marks and claim lines naming the agent.

The columns and their rules

Wanigan’s core keeps these rules, so no one skips a step, not you with a drag and not an agent with its command. How this works on the board draws them with live numbers (Tours and How this works).

The board’s flowFour lanes, as the app’s own How this works draws them: filing, your call, the work, and when it goes wrong. Cards go from the Inbox to Ready to Working to Review to Done; only you accept from the Inbox and only you approve.1 · Filing2 · Your call3 · The work4 · When it goes wrongYou file a cardYours go straight to Ready.Agents fileTheirs land in the Inbox.Jev reads itWhat to do, how much itmatters.InboxAccept (A), archive (X), or start a session onit.ReadyAccepted, with what done means.A session takesitClaimed while itruns.WorkingIn a real terminal.ReviewOnly with evidence.DoneOnly you approve.Send backTo Ready, with yournote.ReopenWhat is wrongbecomes acriterion.A session stopsThe card returns toReady.Needs youMost urgent first.The board’s flowFour lanes, as the app’s own How this works draws them: filing, your call, the work, and when it goes wrong. Cards go from the Inbox to Ready to Working to Review to Done; only you accept from the Inbox and only you approve.1 · Filing2 · Your call3 · The work4 · When it goes wrongyou acceptwith evidenceyou approveYou file a cardYours go straight to Ready.Agents fileTheirs land in the Inbox.Jev reads itWhat to do, how much it matters.InboxAccept (A), archive (X), or start a sessionon it.ReadyAccepted, with what done means.A session takes itClaimed while it runs.WorkingIn a real terminal.ReviewOnly with evidence.DoneOnly you approve.Send backTo Ready, with your note.ReopenWhat is wrong becomes a criterion.A session stopsThe card returns to Ready.Needs youMost urgent first.

The board’s flow

  1. Filing. You file a card (New card, or + on a column); yours go straight to Ready unless you put them in the Inbox. What an agent files with wanigan file always lands in the Inbox. Jev reads each new card: what to do with it, how much it matters, and whether it repeats another, as advice unless the project lets it accept confident cards.
  2. Your call. From the Inbox you accept a card into Ready (A), archive it (X), or start a session on it, which accepts it. Agents cannot take a card from the Inbox. Ready holds accepted work, with the criteria that say what done means.
  3. The work. A session takes a card and claims it for 30 minutes at a time, renewed while it runs. It works in a real terminal that keeps running when the window closes. It moves to Review only with evidence: a file, a link or a note. Only you approve it into Done.
  4. When it goes wrong. Send back puts a card in Ready with your note, and the next session is told it. Reopen says what is still wrong, which becomes a new criterion. When a session stops, its claim is released and the card returns to Ready. Needs you lists permission prompts, questions, failures, finished turns and quiet sessions from every project, most urgent first.
ColumnHoldsHow a card leaves
InboxWhat agents filed, and what you put there.You accept it (A), archive it (X), or start a session on it, which accepts it. Agents cannot take it.
ReadyAccepted work.A session takes it; dragging it into Working opens New session.
WorkingCards held by a session.Submitted with evidence; or back to Ready when the session stops, or you Take back.
ReviewWork submitted with a file, a link or a note.Only you: Approve to Done, or Send back… to Ready.
DoneApproved work; the newest twelve show.Reopen as not fixed…, or archive.

Only you archive, and it is final: the card leaves the board, its counts and search, but nothing is deleted and the List still shows it.

Sessions

A session is a real terminal running Claude Code, Codex, Gemini CLI or a shell in the project’s folder. It runs in Wanigan’s core, not the window: quit and it keeps going; open Wanigan again and its output is replayed. Its state comes from evidence, never a guess: the hooks the agent reports through, Codex’s notifications, or the process itself.

How a session runsThe window talks to Wanigan’s core, which keeps running when the window closes. The core owns each session’s terminal, where the agent’s CLI runs as you; the CLI reports its state back to the core through hooks, and the agent uses the board through the wanigan command, which acts as its session.hooks report each turnits session’s token1 The windowThe interface.2 The coreThe database and everyterminal. Outlives thewindow.3 The terminalA real one, itsown token.4 The CLIThe agent, asyou.5 The wanigan commandActs as its session, only in its project.How a session runsThe window talks to Wanigan’s core, which keeps running when the window closes. The core owns each session’s terminal, where the agent’s CLI runs as you; the CLI reports its state back to the core through hooks, and the agent uses the board through the wanigan command, which acts as its session.typed callsownsrunshooks report state1 The windowThe interface, through a typed bridge.2 The coreThe database and every terminal. Outlivesthe window.3 The terminalA real one, with the session’s own token.4 The CLIClaude Code, Codex, Gemini CLI or a shell,as you.

How a session runs

  1. The window is the interface. It reaches the core only through one typed bridge; Electron’s main process starts or finds the core and forwards only your methods.
  2. The core owns the database and every terminal, and enforces the board’s rules. It is started apart from the window, so quitting the window never ends a session.
  3. The terminal is a real one, in the core. It keeps the newest 2 MB of output in memory and 8 MB on disk, which a new window replays.
  4. The CLI (Claude Code, Codex, Gemini CLI or a shell) runs in it, as you.
  5. State comes from the CLI itself. Hooks Wanigan hands it at launch report each turn, tool and question through a short relay to a separate socket of the core that can call nothing. Codex can also report through its own notifications, and a failed Codex turn is read from its record. A shell reports only running, ended, or failed with its exit code.
  6. The wanigan command in the session reaches the core with the session’s own token, kept by the core only as a hash, and acts as that session, only inside its project.
StateMeans
StartingLaunched, and not yet reporting.
WorkingBetween your prompt and the end of its turn.
WaitingIdle at its prompt.
Needs permissionStopped on a prompt in its terminal.
Hit its limitIts account’s usage limit stopped the turn.
RunningA shell, or an agent whose hooks never reported.
EndedStopped by you, or exited cleanly.
FailedExited with an error, or killed by a signal Wanigan did not send.
InterruptedLost when the core stopped; its card goes back to Ready.

Start a session

  1. Open New session

    Click Start a session on a card, or drag the card into Working. For a one-off, press On a Mac, ⌘T; on Windows and Linux, Ctrl+T anywhere.

  2. Choose

    Pick the Agent, Account (with what it has left), Model, Effort and Card, or None, a one-off session. On its own branch gives a card its own worktree (A branch for each card).

    New session in Northstar Storefront, started from NS-3: Claude Code, the project’s account, Model, Effort, and Card NS-3 on its own branch. Current beta · demo
    A dialog titled New session over the board and NS-3’s drawer: a project picker, a switch of four agents with Claude Code chosen, an account picker, a model picker, effort choices, a card picker showing NS-3 Order history page with reorder with a line saying NS-3 works on its own branch, and a blue Start Claude Code button.
  3. Start it

    Click Start Claude Code, or the agent you chose. The card moves to Working, and the agent is told its card, criteria and the project’s decisions.

A Claude Code session can opt in to Remote Control, to reach it from the Claude app; it is off until you tick it, every time.

Inside a session

The demo’s Free shipping banner session: its terminal, the composer with an image chip, and the panel on Turns. Current beta · demo
A session view. Across the top, the session’s title, its state, a Remote Control badge, Make this a card, Stop and a panel button. The terminal fills the middle; under it a message box with an attached image as a chip, a paperclip and a Send button. On the right, a panel with Turns and Details tabs listing turns and the files each one changed.
  • Type into the terminal as you would anywhere; permission prompts are answered there.
  • The composer messages the agent: Enter sends, and a message to a busy agent waits until it is idle. Paste, drop or attach images and files; they are kept in Wanigan’s data folder, never in the project.
  • The right panel shows Turns, what each turn did and what git saw it change (checkpoints), and Details: account, model, tokens, limits, card and branch.
  • Make this a card moves a one-off onto a new card. Stop asks once; an ended agent session offers Resume conversation on the same account.

Running and Watch

Sessions in the rail (G then R) opens Running: every live session, grouped by project, with the answer in amber on any row that needs you.

  1. Pin the ones to watch

    Click the pin on each session to watch. With none pinned, Watch shows those that need you most, then the most recently active.

  2. Switch to Watch

    Set Layout to Watch: up to twelve live terminals at once, each scaled to fit.

    Running in the demo on Watch: live sessions as tiles, one ringed in amber because it is asking permission. Current beta · demo
    A grid of terminal tiles under a Running heading. Each tile has a header with the project key, the session’s title, its state, the agent and how long it has run, above a live terminal. One tile has an amber ring. A Layout switch at the top reads List and Watch.
  3. Type into one

    Click a tile, or press Enter on it, to type into that session; Esc gives the keys back.

Needs you

Needs you (G then N) is Wanigan’s home: everything waiting on you, from every project, grouped by kind and most urgent first. Each row is worked out from what Wanigan recorded, never guessed, and the count on the rail is its length.

GroupWhenOffers
Asking permissionAn agent is stopped on a prompt.Answer in terminal
Has not startedSilent ten seconds after launch, often asking to trust the folder.Answer in terminal
Two sessions, one fileLive sessions edited one file within the hour.Open
Hit a usage limitAn account’s limit stopped a turn.Continue on, Wait for the reset
Ready for reviewA card was submitted with evidence.Review
FailedA session exited with an error.Open
InterruptedA session was lost, say in a restart.Resume
Gone quietA working Claude Code session, silent 20 minutes.Open
QuestionsAn agent asked on its card.Answer, Reply
Finished a turnAn agent is waiting at its prompt.Reply, Open
  1. Read the row

    A permission row shows exactly what is asked: the tool and its command, file or address, with any hidden or lookalike characters spelled out.

    Needs you in the demo: Asking permission with NS-6’s Bash command pnpm exec axe http://localhost:3000/checkout, then the other groups. Current beta · demo
    The Needs you view. A headline says how many things need you. Under Asking permission, a row shows the card key NS-6, its title, a monospace block with the Bash command, and an amber Answer in terminal button. Other groups follow, each with a dot, a title, a count and a hint.
  2. Answer in place

    Answer in terminal opens the session with the keys in its terminal. Reply gives a finished turn its next step, or answers a question on its card and tells the agent. Dismiss puts a finished turn, failure or quiet session away.

A row leaves when what it is about moves on; a reply’s row, when the agent starts on it.

Notifications

With Wanigan in front, a new need somewhere you are not looking arrives as an alert in the status line’s place, with Open; finished turns and quiet sessions just wait in Needs you. In the background, needs arrive as macOS notifications, each once. Settings › General › Notifications: On, Only permission and failures or Off.

Pause and Decisions

Pause, in the project bar, blocks new sessions and claims in one project without stopping anything, and can ask live agents to wrap up and note where they stand. Resume lifts it. Decisions (G then D) are a project’s rules, such as “Use pnpm, never npm”, told to every session that starts there.

Tokens

A session’s Details show the tokens its conversation used and how much is in context, read from the agent’s own record; a card adds up its sessions. There are no dollars: a plan is not billed per token.

History and resume

History (On a Mac, ⌘⇧T; on Windows and Linux, Ctrl+Shift+T) lists every earlier Claude Code and Codex conversation in the project’s folder and its cards’ worktrees, wherever it ran, in a terminal or an editor. Read one, or Resume it as a live session; that sends the whole conversation again, using part of the account’s limits.

Limits and accounts

When an account’s limit stops a turn, the session reads Hit its limit. 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 choose Wait for the reset. A Codex conversation continues only in the account it lives in, and Gemini CLI asks in its own terminal. What each account has left is in Usage at a glance.

Talk to Wanigan

The round button at the end of the status line opens Talk to Wanigan: ask what needs you, or what the agents did today. Claude Code answers from Wanigan’s records and, in a project, its files, read-only, citing card keys you can open. Each message uses a turn of your plan, and it never moves a card or changes a file.

On your phone

A page for your phone answers what needs you, opens your sessions’ terminals, starts sessions and works your boards, through Tailscale, a private network between your own devices, with no Wanigan server in between.

  1. Install Tailscale

    On your Mac and your phone, signed in to the same account.

  2. Turn on phone access

    In Settings › Phone, choose Turn on phone access; Settings says if Tailscale still needs something.

  3. Pair the phone

    Choose Show a pairing code, scan it, name the phone and tap Pair. On an iPhone, add Wanigan to the Home Screen and pair from there: iPhones notify only Home Screen apps.

  4. Turn on notifications

    On the phone, This phone › Turn on notifications.

Can act off makes a phone read-only, and Forget cuts it off at once (Security and privacy).

In depth

The board’s rules, exactly

  • A claim is a 30-minute lease, renewed while the session’s process runs and kept through sleep. A dead session’s claim expires, and no other session can take a held card.
  • An agent cannot take an Inbox card, claim while paused, move a card to Done, archive, or touch another project.
  • Review needs evidence, from an agent or from you. No one drags a card into Working or out of Done.
  • Saved views are rows in the core’s database, at most 30 a board, with names of up to 60 characters; sessions and phones cannot see them.

How Needs you decides

  • Rows rank by kind in the table’s order, oldest first. Looking at a session settles a finished turn, failure, quiet session or limit, never a permission, review or question. Failures stop asking after three days.
  • Codex’s silence is never raised, because it does not report while it works. Reply is offered only where a message is known to land; a Codex session without its hooks is answered in its terminal.

Hidden and lookalike characters

Anything that makes a command read differently from what runs is spelled out as an escape, such as ⟨U+202E⟩, with a warning: control characters and terminal escapes, invisible characters, controls that reorder text, unusual spaces, and lookalike letters in an otherwise plain ASCII command.

How a session reports

  • Claude Code gets Wanigan’s hooks with --settings; a three-line sh script relays each event over nc to the core, and never blocks the agent.
  • Codex gets them from -c flags, trusted by hash only after its own app server lists them; otherwise its state comes from the notifications it writes, and a failed turn from its own record.
  • A shell reports only running, ended, or failed with its exit code.
  • Messages wait until the agent is idle, then go as one bracketed paste. The newest 2 MB of output stays in memory, 8 MB on disk.

The wanigan command

Each session has a wanigan command acting as that session, only inside its project (every command):

In a session
wanigan status                       # your card, cards sent back, the top of Ready
wanigan claim NS-12                  # take a card
wanigan review NS-12 --evidence test-output.txt --note "fixed; tests pass"
wanigan ask NS-12 "Cart drawer too, or only the cart page?"

Codex asks you to approve each one, because its sandbox cannot reach Wanigan’s socket.

What has not been seen yet