Flowstate

A pomodoro timer for the menubar, set up your way. You pick the length, the look, the sound and what starts it. Everything stays on your Mac. Free and open source.

macOS 14 or later, Apple Silicon and Intel

What it does

Pauses when you leave

No keyboard or mouse for a few minutes, and the timer stops and gives that time back. A pause you made yourself never resumes on its own.

Asks when you are back

A small card under the icon: resume or stop. No notification, no stolen focus.

Any length

Focus from 15 to 90 minutes, break from 1 to 20. Starts at 55 and 5.

Hotkey

Start and pause from any app with Option-Shift-F, or any key you set.

5 looks

Hourglass, candle, tide, sunset, sprout.

Stats that reward the habit

A pine for every day with a full session, one tier per session up to three. Hit your weekly goal and the week turns green. The streak counts weeks, so one off day does not reset it. All kept on your Mac.

Sound

Rain on leaves by default, built in and offline. Or your own music: one file or a whole folder. Plays while you focus, pauses with the timer.

Break screen

Optional full-screen break, so you actually stand up.

Menubar only

No dock icon. Starts at login if you want.

Scriptable

flowstate://start, pause, resume, stop, toggle. From Shortcuts, Raycast or a cron job.

Claude Code

Add two hooks to ~/.claude/settings.json, and Flowstate knows when you are working.

{
  "hooks": {
    "SessionStart": [{ "hooks": [{
      "type": "command",
      "command": "open -g 'flowstate://activity?source=claude-code'"
    }] }],
    "UserPromptSubmit": [{ "hooks": [{
      "type": "command",
      "command": "open -g 'flowstate://activity?source=claude-code'"
    }] }]
  }
}

It updates itself. Free and MIT, no account, no tracking.

Install

  1. Download Flowstate.dmg, open it and drag Flowstate to Applications.
  2. Open it. macOS says it could not verify the app. Close that message.
  3. Open System Settings, Privacy & Security, scroll down and click Open Anyway. You do this once.

    The app is not notarized, that needs a paid Apple developer account.

  4. Or skip steps 2 and 3 with one command:
    xattr -dr com.apple.quarantine /Applications/Flowstate.app