#!/usr/bin/env python3 """ Claude Code statusLine — `⎇ · · `. Wired in `.claude/settings.json` statusLine. Reads session JSON from stdin (model.display_name, workspace.current_dir). Branch via a 1s git probe in cwd. Why: 3-5 parallel bg-windows on shared worktrees → branch/persona confusion is a documented fail-class (orphan commits). A persistent branch+model line кат this risk. Always exits 0; never blocks. """ from __future__ import annotations import json import os import subprocess import sys def main() -> int: try: data = json.load(sys.stdin) except Exception: data = {} model = (data.get("model") or {}).get("display_name") or "?" cwd = (data.get("workspace") or {}).get("current_dir") or data.get("cwd") or os.getcwd() base = os.path.basename(str(cwd).rstrip("/\\")) or str(cwd) branch = "?" try: out = subprocess.run( ["git", "-C", str(cwd), "rev-parse", "--abbrev-ref", "HEAD"], capture_output=True, text=True, timeout=1, ) branch = out.stdout.strip() or "?" except Exception: pass print(f"⎎ {branch} · {model} · {base}") return 0 if __name__ == "__main__": sys.exit(main())