Skip to content
Productivity
Command

/rows

Configure which rows cc-statusline shows (or turn it off entirely)

BOOST
From plugin
cc-statusline
2651 skill1 command6 hooks
Install
> /plugin marketplace add NYCU-Chung/cc-statusline
> /plugin install cc-statusline@cc-statusline

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/rows

Context preview

What this command does when you run it.

Configure which rows cc-statusline shows (or turn it off entirely)

Command definition

rows.md
description: Configure which rows cc-statusline shows (or turn it off entirely)
argument-hint: [on|off] | [hide|show|only|toggle <row>...] | [reset] | (no args to list)

cc-statusline :: row configuration

Manage cc-statusline. Config lives at `~/.claude/cc-statusline-rows.json`; statusline.js reads it on every render.

A top-level `enabled` flag acts as the master switch — when `enabled: false`, the statusline prints nothing at all. Individual row flags control which sections appear when the statusline IS enabled.

Special configuration options

Besides row toggles the file also holds non-row behaviour knobs:

| key | type | default | description | |-----|------|---------|-------------| | `enabled` | boolean | `true` | Master switch — `false` = no output at all | | `summaryInterval` | number | `10` | How many UserPromptSubmit events between session-summary nudges (minimum `1`) | | `aggWindowDays` | number | `0` | Rolling window (in days) for the all-session cost + tokens aggregate. Default `0` = all time. Set to `7` / `30` / `90` etc. for a rolling view. | | `statuslineWidth` | number | _(auto)_ | Hard-set the box width in columns. Width auto-detection is unreliable inside the statusline hook (see [#5430](https://github.com/anthropics/claude-code/issues/5430)) — Claude Code doesn't pass the available width and most fallbacks return wrong values. Measure your terminal once (`tput cols` from a normal shell) and set it here. Default fallback is `120`. | | `statuslineWidthOffset` | number | `4` | Columns reserved on the right after `statuslineWidth` is resolved, to leave room for Claude Code's own padding/indicator. Increase if the box still gets truncated; decrease to `0` if your terminal renders edge-to-edge. |

Valid row keys

| key | what it controls | |-----|------------------| | `summary` | Top session-summary row (auto-written by Claude) | | `dir` | 📁 directory + `+added -removed lines` | | `repo` | `owner/repo branch (N changed)` row | | `model` | Model name + effort level | | `duration` | Active session time (sum of turn durations from UserPromptSubmit → Stop, idle outside turns naturally excluded). Shares the model row area visually but toggles independently. | | `cost` | `cost $TOTAL (<window>) · $SESSION (this session)` — window label reflects `aggWindowDays` | | `usage` | `tokens ... context ... compact ...` row | | `quota` | `5h-quota` + `7d-quota` row with countdowns | | `agents` | Subagent activity row | | `memory_mcp` | Combined `memory │ mcp` row | | `edited` | Recently edited files row | | `history` | Right-side message history column |

User input

$ARGUMENTS

What to do

1. **Read** `~/.claude/cc-statusline-rows.json`. If it doesn't exist, treat `enabled` as `true`, every row as `true`, `summaryInterval` as `10`, `aggWindowDays` as `0` (all time), `statuslineWidth` as unset (auto-detect with fallback `120`), and `statuslineWidthOffset` as `4`. 2. **Parse user input** from above:

  • No args → just list current state (step 4, no write).
  • `off` (no rows listed) → set `enabled: false` (master switch off). Keep row flags intact.
  • `on` (no rows listed) → set `enabled: true`. Keep row flags intact.
  • `reset` → set `enabled: true`, every row key to `true`, and remove every special-options key (`summaryInterval`, `aggWindowDays`, `statuslineWidth`, `statuslineWidthOffset`) so each falls back to its default.
  • `summary-interval <N>` → set `summaryInterval: N`. Reject `N < 1`.
  • `agg-window <N>` → set `aggWindowDays: N`. Accept `0` (all time). Reject negative.
  • `only <rows...>` → every listed row becomes `true`, every other row becomes `false`. Leave special options untouched.
  • `hide <rows...>` → every listed row becomes `false`. Others unchanged.
  • `show <rows...>` → every listed row becomes `true`. Others unchanged.
  • `toggle <rows...>` → flip each listed row's current value.
  • Accept row names comma/space separated, case-insensitive. Reject unknown keys with a message but still proceed with valid ones.

3. **Write** the merged config back to the same file using the Write tool (pretty-printed JSON: `enabled` first, then special options, then row keys in the canonical order shown in the table above). 4. **Print** a short table of the resulting state — one line per key like:

  summary     ✓ shown
  dir         ✓ shown
  repo        ✗ hidden
  ...

Use ✓ and ✗ with colors (green / dim red) if your output renders them. Keep the reply concise — no more than the table plus one short confirmation sentence. Do not open the file, do not paste the JSON, do not run statusline.js.

Read more
Ships withcc-statusline

A comprehensive statusline dashboard for Claude Code. See everything at a glance — no slash commands needed.

Get the whole plugin
Stats
265
Stars
30
Forks
Maintained
Maintenance
JavaScript
Language
MIT
License
5mo ago
Last commit
6mo ago
Created
3d ago
Added

Repo: NYCU-Chung/cc-statusline