Skip to content


Repository files navigation


Pomogoro is a command-line tool to combine todo.txt (or any other text based todo file) and the Pomodoro Technique.

pomogoro screenshot


  • made to work with todo.txt files but is compatible with any line-based text files
  • time tracking history per task per day
  • OS notifications (pomodoro finished, break started, break finished)
  • option to enable/disable pomodoro style tracking
  • configurable pomodoro and break durations
  • auto break after one pomodoro is finished


Option 1: get a binary

Go to Releases and grep the appropriate release for your architecture.

# extract
tar -xvzf <release.tar.gz>
# move the binary to a directory in your $PATH
mv pomogoro ~/.local/bin

Option 2: go get

  • golang
  • PATH contains path to go/bin/ directory
go get -u

After this you can start pomogoro via

pomogoro --config <absolute/path/to/config.toml>


You need to pass an absolute path to a config.toml file via --config /your/path/to/config.toml.

# config.toml
TodoFile = "/absolute/path/to/your/todo.txt" # containing the tasks you want to track
LogFile = "/absolute/path/to/pomogoro.log" # tracking log file
BreakDuration = 5 # in minutes
PomodoroEnabled = true # whether to use pomodoro timer or not
PomodoroDuration = 25 # in minutes
LogIdleTime = true # also log idle times
LogBreakTime = true # also log breaks


Key Function
j/k/Up/Down Scroll down/up in windows
Enter Start tracking on current task in the todo window
p Toggle: Freeze timer
c Cancel current timer (task or break)
s Toggle between summary per task per day and recent history
r Refresh todo list
? Toggle: show keyboard bindings
CTRL-c quit


  • Jira: Fetch tasks & push time trackings (WIP)
  • reduce 1s lag after key press
  • cleanup codebase & more tests
  • group by todo.txt projects

Built With


This project is licensed under the MIT License - see the file for details