Claude Code statusline that uses git-machete branch layout data to show whether the current branch is managed, how many branches are outside the layout, and when fork-point overrides need review.
This statusline is read-only and does not run git-machete update, traverse, rebase, push, or pull., Unmanaged branches and fork-point overrides are review cues; inspect git-machete status before changing stacked branches., The compact output intentionally avoids automated branch repair because stacked-branch workflows can rewrite history.
Privacy notes
The script prints the current branch name and aggregate branch-layout counts., Branch names can reveal ticket IDs, customers, incidents, or release names in terminal screenshots., It reads local branch layout metadata and does not print commit messages, remote URLs, or file paths.
Author
MkDev11
Submitted by
MkDev11
Claim status
unclaimed
Last verified
2026-06-04
Decision playbook
Review trust signals before you adopt
Signals are present but mixed. Use the checklist below to confirm the source and operational safety for your environment.
Compare context
Selected
0
Current score
78
Baseline
—
Delta
No baseline selected
No major trust-signal divergence detected in the current selection.
Source and provenance checks
Complete
Confirm ownership and provenance before trusting install instructions.
Source link availableRequired
Open the canonical repository and verify ownership.
Done
Source provenance statusRequired
Marked as source-backed.
Done
Metadata reviewed
Registry metadata indicates a reviewed listing.
Done
Safety and privacy checks
Complete
Validate risk disclosures before installation or API wiring.
Safety notes presentRequired
Review the listed safety guidance before running commands.
Done
Privacy notes presentRequired
Review data handling notes before connecting accounts or secrets.
Done
Trust level risk gateRequired
Trust level does not block evaluation.
Done
Package and install checks
Needs review
Check package metadata and artifact integrity signals.
Install payload available
Install or copy payload is available for review.
Done
Package verification flag
No package verification flag provided.
Pending
Checksum metadata
No checksum provided for downloaded artifact.
Pending
Compare-driven decision checks
Needs review
Use compare context to validate trade-offs before adoption.
Compare tray has multiple entries
Add at least one more entry to compare trust differences.
git-machete documents a branch layout file, git machete status, git machete is-managed, and git machete list categories such as managed, unmanaged, and with-overridden-fork-point.
This statusline invokes git-machete directly for those branch-layout commands to summarize stacked-branch hygiene without calling plain Git upstream-count manuals or mutating branch history.
Duplicate check
Checked existing statuslines, live HeyClaude statuslines, open pull requests, and repository content for git-machete-branch-hygiene-statusline, git-machete, branch hygiene, upstream drift, ahead/behind, and Git status statuslines. The earlier Git upstream drift draft used Git manual sources adjacent to the existing git-status-statusline; this replacement uses git-machete with a different canonical source, branch-layout scope, and value proposition.
Disclosure
Editorial statusline recipe. No paid placement or affiliate link is used.
Show that git-machete Branch Hygiene Statusline is listed on HeyClaude. Paste this Markdown into your README — it renders the badge and links back to this page.
[](https://heyclau.de/entry/statuslines/git-machete-branch-hygiene-statusline)
How it compares
git-machete Branch Hygiene Statusline side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.
1 trust signal differ across this comparison (Submitter).
Claude Code statusline that uses git-machete branch layout data to show whether the current branch is managed, how many branches are outside the layout, and when fork-point overrides need review.
✓This statusline is read-only and does not run git-machete update, traverse, rebase, push, or pull.
Unmanaged branches and fork-point overrides are review cues; inspect git-machete status before changing stacked branches.
The compact output intentionally avoids automated branch repair because stacked-branch workflows can rewrite history.
✓Runs as a Claude Code statusline command on every refresh and depends on the local shell environment; a failure only affects status rendering, not your session.
✓This is a read-only review aid; inspect the actual diff before committing, rebasing, merging, or discarding files.
Frequent statusline refreshes can still run Git status often in large repositories, so use a moderate refresh interval.
Treat split staged/dirty state and conflict counts as stop-and-review cues before automated edits.
✓The default mode does not scan file contents; it only counts sensitive-looking environment files in Git status.
Enable recursive git-secrets scanning only in repositories where you are authorized to inspect all files.
Scanner mode invokes the git-secrets executable directly and does not fall back to Git aliases.
Treat any scan warning as a stop-and-review signal before committing, sharing logs, or opening a PR.
Privacy notes
✓The script prints the current branch name and aggregate branch-layout counts.
Branch names can reveal ticket IDs, customers, incidents, or release names in terminal screenshots.
It reads local branch layout metadata and does not print commit messages, remote URLs, or file paths.
✓Reads the Claude Code statusline JSON from stdin (model, workspace path, token usage) and renders it in the local terminal; it does not send data off-machine.
✓The statusline prints aggregate counts and the branch name, not file paths, diff hunks, or commit messages.
Branch names can reveal ticket IDs, customer names, incident labels, or release names in screenshots.
The simple-git library shells out to local Git; any custom Git wrappers or hooks are outside this script's control.
✓The default output prints counts only and does not print filenames or matched values.
Recursive scans read repository files and may inspect sensitive local material.
Terminal recordings can still reveal that a workspace contains sensitive environment files.
Prerequisites
Git and git-machete installed and available as git-machete.
A repository with a .git/machete branch layout for full managed-branch reporting.
A moderate statusline refresh interval so branch-layout scans do not run too often in very large repositories.
Claude Code CLI installed and configured
Bash shell available (bash 4.0+ recommended for arithmetic operations and string manipulation)
jq command-line JSON processor (jq 1.6+ recommended for safe extraction with // defaults)
Git installed and accessible in PATH (git 2.0+ recommended for symbolic-ref and rev-list commands)
Node.js available in the shell used by the statusline command.
simple-git installed in the project or statusline script directory, for example with npm install --save-dev simple-git.
Git installed and the command run from a repository worktree for full status output.
Git installed and the command run from a repository worktree.
Optional git-secrets installed if GIT_SECRETS_STATUSLINE_SCAN is set to 1.
A slower refresh interval when optional scanning is enabled, because recursive scans can be expensive.