statusline · git:20261014.5b60e38 · 2026-10-14 · sha256 ce6958f2160edce2
statusline git:20261014.5b60e38A
Immutable. This exact content never changes and is served at /api/v1/blob/ce6958f2160edce2.
---
name: statusline
disable-model-invocation: true
description: Configure the Claude Code statusline to show current directory, git branch and dirty state, model, context usage, and time. Writes the statusline script and updates ~/.claude/settings.json.
allowed-tools: [Read, Write, Edit, Bash, AskUserQuestion]
---
Configure the Claude Code statusline by doing the following steps in order:
1. Ask the user where to install using AskUserQuestion with these options:
- **Global**: writes to `~/.claude/settings.json`, applies to all projects
- **Project**: writes to `.claude/settings.local.json` in the current working directory, applies only to this project (gitignored, personal)
2. Find the albino plugin install directory. Check these locations in order and use the first that exists:
- `~/.myagents/plugins/albino`
- The value of the `CLAUDE_PLUGIN_ROOT` environment variable
The statusline script is at `scripts/configure-statusline.sh` inside that directory.
3. Based on the user's choice, determine the target settings file:
- **Global**: `~/.claude/settings.json`
- **Project**: `.claude/settings.local.json` (relative to current working directory: create `.claude/` if it does not exist)
4. Read the target settings file. If it does not exist, treat it as an empty JSON object `{}`.
5. Add or update the `statusLine` field with:
```json
{
"statusLine": {
"type": "command",
"command": "<absolute-path-to-configure-statusline.sh>",
"refreshInterval": 30
}
}
```
Preserve all other existing fields. Write the result back to the target settings file.
6. Confirm to the user: statusline is configured (global or project, as chosen). It shows current directory, git branch and dirty state, model, color-coded context usage, and time. It refreshes every 30 seconds. Changes take effect on the next Claude Code interaction.