Drop these into ~/.claude/settings.json (merging with anything already there).
Renders as: <model> | wt: <worktree> | br: <branch> | ctx: NN% with the context-usage percentage colored by severity zone:
| ctx % | Color | Label |
|---|---|---|
| < 20 | green | ctx: N% |
| 20-29 | yellow | ctx: N% |
| 30-39 | orange | ctx: N% ! dumb zone ! |
| 40-49 | red | ctx: N% !! dumber zone !! |
| >= 50 | bright red (bold) | ctx: N% !!! idiot zone !!! |
Requires jq and git on PATH. The git lookups use --no-optional-locks so they're safe to run while another git command holds a lock.
Implementation notes:
- One
jqinvocation per render (emitsmodel<TAB>workspace_dir<TAB>cwd<TAB>ctxand splits with POSIX parameter expansion). - Falls back to
cwdwhenworkspace.current_diris empty. wt:is the basename of the git worktree root (git rev-parse --show-toplevel), so sessions running in linked worktrees are distinguishable at a glance — the main checkout shows the repo directory name, a linked worktree shows its worktree directory name.- Detached HEAD shows a short sha instead of the literal string
HEAD. - Outside a git repo, the
wt:andbr:segments are omitted entirely.
preferredNotifChannel: "terminal_bell"- ring the terminal bell when Claude needs attention. Other valid values:auto(default),iterm2,iterm2_with_bell,kitty,ghostty,notifications_disabled. iTerm2 users: swap in"iterm2"for a native desktop notification, or"iterm2_with_bell"to keep the audible bell on top of it.agentPushNotifEnabled: true- enable push notifications for background agent completions.