workler status
Show branch, upstream state, and cleanliness for the main project and every workspace.
workler statusBehavior
Prints one line per workspace — read-only, no git state is modified. Ahead/behind is measured against each branch's upstream (usually origin/<branch>), using whatever was last fetched — run workler fetch first for fresh numbers.
Unlike workler list, directories under .worktrees/ that are not usable clones are shown and flagged as broken rather than hidden.
Output
NAME BRANCH UPSTREAM STATE
main main up to date clean
feature-a feature-a ahead 2 dirty
review-1 main behind 3 clean
spike spike ahead 1, behind 3 clean
old-thing (detached 1a2b3c4) no upstream clean
broken - - broken: missing .git (not a clone)| Column | Values |
|---|---|
BRANCH | Branch name, or (detached <sha>) |
UPSTREAM | up to date, ahead N, behind N, ahead N, behind N, or no upstream |
STATE | clean, dirty (uncommitted changes to tracked files), unknown: git status failed, or broken: <reason> |
Untracked files — including everything created by copy rules — never count as dirty.
In a project group there is one row per member repository, named <workspace>/<project>; the source repositories appear as main/<project>. A member that was never cloned shows broken: missing (not cloned); a source reached through a symbolic link shows broken: behind a symbolic link at <folder>, not a repository and is never followed. A repository at a member path that is not the recorded clone of that member (an unrelated repository, or a clone made for another workspace or location) shows broken: not the recorded clone of <project>: unrelated, or made for another location and is left alone by every command.
NAME BRANCH UPSTREAM STATE
main/projects/api main up to date clean
main/tools main no upstream clean
feat/projects/api feat no upstream dirty
feat/tools - - broken: missing (not cloned)Examples
workler fetch && workler status # fresh ahead/behind numbers
workler status # quick local overview