| name | pomodoro |
| description | Configure the Pomodoro timer shown in the Claude Code status line. Use when the user wants to change focus/break duration, theme, bar length, or any other timer setting. Also use when they say /pomodoro, "set pomodoro", "change timer", "pomodoro settings". |
| argument-hint | help | [setting] [value] — e.g. work_min 50, theme cat, break_min 10 |
The Pomodoro timer config lives at ~/.claude/pomodoro.json. Your job is to read it, apply the requested change, and write it back.
Available settings
| Key | Type | Default | Notes |
|---|
work_min | integer ≥ 1 | 25 | Focus block length in minutes |
break_min | integer ≥ 1 | 5 | Break length in minutes |
bar_len | integer ≥ 4 | 14 | Progress bar width in chars |
show_model | boolean | true | Show model name prefix |
theme | string | "tomato" | One of: tomato, cat, dog, dots, custom |
custom.focus_icons | array of strings | — | Animated frames for focus phase (theme must be "custom") |
custom.break_icon | string | — | Icon shown during break (theme must be "custom") |
custom.fill | string | "█" | Bar fill character |
custom.empty | string | "░" | Bar empty character |
custom.head | string | "" | Leading edge character for the bar |
Steps
- If argument is
help, print the help block above — no file read needed, stop here.
- Read
~/.claude/pomodoro.json using the Read tool.
- Parse the requested change from the user's arguments or message.
- For
custom.* keys (e.g. custom.fill), update the nested custom object.
- For
custom.focus_icons, parse the value as a JSON array of strings.
- Apply the change and write the file back using the Edit or Write tool.
- Confirm what changed in one line, e.g. "Set work_min to 50 (was 25). Timer restarts on the next status refresh."
If argument is "help"
Print the full reference below verbatim (no file reads needed):
/pomodoro help — show this reference
/pomodoro — show current config + available themes
Timer durations
/pomodoro work_min 25 — classic 25-min focus block
/pomodoro work_min 50 — deep work 50-min block
/pomodoro break_min 5 — short 5-min break
/pomodoro break_min 10 — longer 10-min break
Themes (controls icon + bar style)
/pomodoro theme tomato — 🍅 classic tomato, fill █ empty ░
/pomodoro theme cat — ᓚᘏᗢ animated cat, fill ⣿ empty ⣀
/pomodoro theme dog — (❍ᴥ❍ʋ) animated dog, fill ▰ empty ▱
/pomodoro theme dots — ⠋⠙⠹ braille spinner, fill ━ empty ─ head ╾
/pomodoro theme custom — use your own icons (see custom settings below)
Bar
/pomodoro bar_len 14 — default width (14 chars)
/pomodoro bar_len 20 — wider bar
/pomodoro bar_len 8 — compact bar (minimum 4)
Model name prefix
/pomodoro show_model true — show model name (e.g. "Claude Sonnet 4.6 | focus 24:30")
/pomodoro show_model false — hide model name, timer only
Custom theme icons (set theme custom first)
/pomodoro custom.focus_icons ["★", "☆"] — alternating focus frames
/pomodoro custom.break_icon "zzz" — break icon
/pomodoro custom.fill "▓" — bar fill character
/pomodoro custom.empty "░" — bar empty character
/pomodoro custom.head "▶" — leading-edge character (set "" to disable)
If no arguments given
Show the current config values in a compact table and list all available themes. Ask what they'd like to change.
Constraints
- Never set
work_min or break_min below 1.
- Never set
bar_len below 4.
- When setting
theme to custom, preserve any existing custom sub-object rather than wiping it.
- Do not add comments to the JSON file.