You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tmux integration (auto-detected, guest-only): wf add gives each new workspace a real tmux window in your current session, one window per workspace
wf close closes a workspace's tmux window while keeping the worktree and branch
wf resurrect recreates tmux windows for every tracked workspace after a tmux or computer restart
wf sidebar shows a live strip of the workspace windows open right now (run it in a split pane)
Dashboard: press t to jump to a workspace's tmux window, and a ▣ marks workspaces whose window is open right now
Added backlink to repo in yaml file in project created by init
New documentation website (VitePress) covering the guide and command/configuration reference; its Changelog link points to the repository's CHANGELOG.md on GitHub
wf edit opens a workspace in an editor: it discovers the IDEs and editors installed on this machine (VS Code, JetBrains IDEs, Sublime, Zed, Vim, and more) and shows a picker to choose one — arrow keys to move, Enter to launch
Per-project default editor: set default_ide in a repo's .workFlow.yaml (or pin it from the picker) so each project can prefer its own IDE, with optional autolaunch to open it without the picker
Custom editors can be added under ides: in the global config so the picker can launch an editor wf doesn't ship in its catalog
Dashboard: e opens the editor (autolaunching the project default when set, else a picker) and o configures it; the picker appears as a popup over the ledger
wf edit --list prints the editors detected on this machine and their ids
Editor discovery finds snap-packaged IDEs via their Ubuntu menu entries and skips stale JetBrains Toolbox launcher scripts that point at a removed snap revision, so the picker resolves a launcher that actually works
Launching a GUI editor reports a real error when the launcher fails to start (e.g. a broken wrapper script) instead of falsely reporting that it launched
Live agent status for each workspace, shown inside the tmux tab (a working/waiting/idle icon prefixed to the window name, with the tab recolored by state), in the dashboard, and in the sidebar
wf hooks install / uninstall / print to manage the Claude Code hooks that report agent status (works with any agent that can run a command on its lifecycle events)
status: config block to customize the status icons and colors (presets nerdfont/emoji/ascii, per-state glyph/color overrides, tmux color mode, and a staleness TTL)
Changed
wf open now jumps to the workspace's tmux window when run inside tmux (creating it on demand); use --editor to open the editor instead. Outside tmux it opens the editor as before
wf merge and wf rm now also close the workspace's tmux window as they clean up
Dashboard ledger now shows a labelled column header and a legend explaining every status glyph and column
Dashboard workspace rows are accent-coloured per field (status, commit gap, diff counts, dirty and tmux markers) rather than colouring the whole line, so colour flags a specific status instead of the entire row
Dashboard shows each branch's commit gap to base as a single labelled "behind|ahead" column, replacing the unlabelled arrow pair
Renamed the clean workspace state in the dashboard from "done" to "clean" and gave it its own colour, so it reads as a normal state alongside "active" rather than a finished one
Dashboard: the x (remove) confirmation now checks the workspace first — it warns in red and spells out what would be lost (uncommitted changes and/or unmerged commits) when there is work at risk, and reassures in green that the branch is safe to drop when there isn't
Outside tmux, wf open now launches the workspace's default editor instead of a single configured editor command
The dashboard now updates agent status live (no manual refresh) and the sidebar's agent-status slot is filled instead of showing a placeholder
Removed
Removed the global editor config field (superseded by the discovered-editor model and per-project default_ide); a leftover editor: key is ignored and dropped on the next config save
Fixed
Dashboard: long branch names no longer break the table — the branch column is wider, and any name still too long is truncated with a …, so the state, ahead/behind, diff, and base columns stay aligned