Skip to main content
Work sessions are the core of pomo. Start a timer, focus on your task, and track your productivity.

Starting a work session

The basic command starts a work session with your configured default duration (25 minutes):
pomo

Custom work duration

Specify a custom work session duration using Go’s time format:
pomo 30m          # 30 minute work session
pomo 1h           # 1 hour work session
pomo 1h15m        # 1 hour 15 minute work session
pomo 45m          # 45 minute work session
Duration format accepts combinations of hours (h), minutes (m), and seconds (s). Examples: 25m, 1h30m, 90m

Custom break duration

You can also specify the break duration that follows your work session:
pomo 45m 15m      # 45 minute work with 15 minute break
pomo 1h 10m       # 1 hour work with 10 minute break
pomo 25m 5m       # 25 minute work with 5 minute break

The Pomodoro cycle

Pomo implements the classic Pomodoro technique with automatic cycles:
1

Work session

Complete a focused work session (default: 25 minutes)
2

Short break

Take a short break (default: 5 minutes)
3

Repeat

Repeat work and break sessions
4

Long break

After 4 work sessions, take a longer break (default: 15 minutes)
The long break cycle is configurable in your pomo.yaml:
config/pomo.yaml
longBreak:
  enabled: true
  after: 4          # Take long break after this many work sessions
  duration: 15m

Keyboard shortcuts

Control your work session with these keyboard shortcuts:
KeyActionDescription
/ kAdd timeIncrease session time by 1 minute
SpacePause/ResumePause or resume the timer
/ hResetReset timer to initial duration
sSkipSkip to next session (bypasses prompts)
q / Ctrl+CQuitExit the timer
You can increase the timer mid-session by pressing or k. This is useful when you need just a bit more time to finish a task.

Session completion

When a work session completes, pomo can take different actions based on your onSessionEnd configuration:
Prompt you to choose the next action:
  • Yes (y): Start the next session (break)
  • No (n): Exit pomo
  • Short session (s): Extend current session by 2 minutes
  • Navigate options with Tab and confirm with Enter
config/pomo.yaml
onSessionEnd: "ask"

Short sessions

Short sessions extend the current session by 2 minutes. This is useful when you’re in the flow and need just a bit more time before taking a break.

Desktop notifications

Pomo sends native desktop notifications when work sessions complete:
config/pomo.yaml
work:
  notification:
    enabled: true
    urgent: true      # Persistent notification with sound
    title: work finished 🎉
    message: time to take a break!
    icon: ~/my/icon.png
Notification appearance varies by operating system and desktop environment. The urgent flag behavior is platform-dependent.

Running commands on completion

Execute custom commands when work sessions complete using the then section:
config/pomo.yaml
work:
  then:
    - [paplay, ~/sounds/work-done.mp3]  # Linux
    # - [afplay, ~/sounds/work-done.mp3]  # macOS  
    # - [powershell, start, work-done.mp3]  # Windows
Commands run with a 5 second timeout and are automatically cancelled when starting the next session.

Examples

Quick focused session

pomo 15m
Start a 15-minute focused work session.

Deep work block

pomo 2h 20m
Start a 2-hour deep work session followed by a 20-minute break.

Standard Pomodoro

pomo 25m 5m
Classic 25-minute work session with 5-minute break.

Break sessions

Learn about managing break sessions

Statistics

Track your productivity metrics

Build docs developers (and LLMs) love