Repository navigation
Plan mode
You can now use Whiteboard as your surface for doing 'plan mode' / spec-driven development with your agents!
-
Whiteboard supports the creation and direct editing of plan whiteboards which aren't attached to any code yet. As you move from plan to implementation, your agent will nest the review whiteboard(s) underneath the plan whiteboard as children, as shown in the screenshot below.
-
This also creates a natural UX for reviewing stacks of changes, as each PR in the stack is nested in stack-order underneath the plan/overview.
-
Human creation/editing: Create whiteboards directly within the app (click '+' button in the sidebar), and edit any board in place like a Markdown file. Use Markdown syntax for headings, tables, task checkboxes, inline math, etc.
-
New layout: a collapsible sidebar with Whiteboard, Diff and Threads tabs, a page bar with breadcrumbs, and one board at a time.
-
Ask threads are scoped to the project, marked when they need you, and linked to the edits they made.
-
A commit picker in Diff replaces the Commits screen.
-
Known limitations:
- Child boards can't have children of their own.
- Direct editing of diagrams is not supported yet (as before, ask your agent to change these.)
- Finding a branch's PR doesn't cover PRs from forks, or local branches renamed away from the PR's head branch.
Please share feedback in our discussion thread!
Themes
- Pick a theme in Settings. 34 popular themes are bundled, including Tokyo Night, Catppuccin, Rosé Pine, Gruvbox, Nord, Dracula, GitHub, Ayu and One Dark Pro. Theme ids match VS Code's, so your
workbench.colorThemecarries over. - Import any VS Code theme from a
.vsixor.jsonfile. - Boards use the theme's accent, syntax and diff colors instead of Whiteboard blue.
- Turn on
window.autoDetectColorSchemeto switch themes with the system. See docs/configuration.md.
Other bits and bobs
New
- JavaScript and TypeScript use the TypeScript 7 language server. On a 5,000-file project, the first hover takes 0.33 s instead of 4.7 s. Set
js/ts.experimental.useTsgoto false to go back to tsserver (#1266, #1267) - Syntax highlighting for 27 more languages, including Terraform, TOML, Kotlin, Scala, Elixir, Haskell, OCaml, Zig, Nix, Proto, Solidity and CMake (matches diffr's supported languages, lsp isnt supported for all these yet) (#1257)
- Settings → Appearance → Specifics sets text size, a serif or sans reading font, the code font and size, ligatures, diff font size, diff line wrapping and hiding whitespace changes (#1275)
- Stacks are found from open PRs' base and head branches when GitHub has no native stack, and a branch's board picks up its PR once one is opened (#1289)
- Click a code, file or diagram block's header to Ask about it or copy a ref to it. ⌘L and ⇧⌘C act on the whole block (#1291, #1350)
- Selecting lines in a board's inline diff shows their line numbers. Line numbers there are hidden by default and can be turned on (#1316)
- ⌘N and the sidebar's + open New whiteboard in the current project, and New whiteboard can start an empty board (#1244)
- Switching boards while in Diff stays in Diff, so you can step through a stack's diffs (#1302)
Changed
- Desktop talks to its local server over HTTP/2, so boards with many peeks no longer wait seconds for a free connection. It falls back to HTTP/1.1 if something on your machine blocks local TLS (#1330, #1331, #1332)
- Switching boards draws the board's text right away and fills in the rest as it loads (#1339)
- Scrolling and typing in long boards is cheaper, and so is the sidebar while an agent answers (#1246, #1306, #1307, #1308, #1311)
- Share v1 is now behind Settings › Experimental Features › Sharing (it isnt up to our standards). Opening a share link still works. New share impl with browser rendering coming imminently (#1256)
- Review windows turn off features that need editable code: no problem squiggles, no Go run-test lenses, and no Rust build scripts or proc macros (which ran the checkout's
build.rs). Hover and go to definition into macro-generated Rust no longer work (#1281) - Whiteboard's read-only MCP tools are marked read-only, so agents in auto-approval modes don't send them for review (#1285)
- Flow diagram labels wrap to three lines instead of cutting off at 25 characters (#1293)
- Only the chevron folds a file in a board's diff, and file headers drop the A/D/R badge (#1318, #1320)
- Ask pin gutters in board diffs take no space until there's a pin (#1317)
- A board's update time moved to the page bar beside its name (#1238)
- The
whiteboardcommand stays installed until you uninstall Whiteboard; Settings no longer offers to remove it so installs dont break (#1327) - Preview keeps its data in
~/.dev-preview, apart from stable's~/.devin case we ship breaking changes (#1241)
Fixed
- Codex users whose provider lacks Codex's auto-review model had every action denied, Whiteboard reads included. Codex now falls back to read-only when its approval review fails (#1288)
- Peeks wrongly showed "Code unavailable" while their comparison loaded, and always on untracked files in worktree reviews (#1232)
- Files diffr failed on couldn't be clicked in the Diff tab; they now show the error inline (#1228)
- Edits to
.gitattributesor diffr'sconfig.tomldidn't apply to reviews until the server restarted (#1230) - Clicking an SVG in a diff threw an error (#1283)
- Large reviews leaked listeners from structural folds (#1290)
- Copy ref in the selection toolbar was unreadable in light themes (#1319)
- Clicking a diagram node could scroll its tour past the step you picked (#1323)
- Sharing failed for people who reach GitHub only over SSH (#1284)
- Shared stacked boards failed to open with "This share is unavailable" (#1359)
- Sharing a board with data the share format can't read blamed sign-in instead (#1351, thanks @mfahadkh00 for the contribution!)
- The share popover now shows the sign-in device code to compare (#1229)
- Naming a bare clone as a board's repository now lists its worktrees to use instead (#1358, from #1352 by @svallory)
- Backported October VS Code security fixes, including CVE-2026-69370 and CVE-2026-102238, plus 22 upstream leak and crash fixes, one of which clipped file headers in the Diff tab (#1297, #1299, #1300)
New Contributors <3
- @mfahadkh00 made their first contribution in #1351
Full Changelog: v0.3.4...v0.4.0
