What counts as AI time
Once a second, Touch Grass looks at what’s frontmost on your Mac and decides whether it’s AI:
- Apps are matched by bundle id — things like Claude, ChatGPT, and Cursor.
- A frontmost terminal is scanned for AI command-line tools —
claude,codex,aider,gemini— including interpreter-hosted ones likenode …/claude. - A frontmost browser has its active-tab URL read (locally) and matched against AI domains like chatgpt.com, claude.ai, and perplexity.ai.
Only when you’re actually engaged
A second only counts when you’re present — recent keyboard or mouse activity — at an AI surface, or when an AI command-line tool is genuinely working on your behalf in the background (using CPU). Idle time and unrelated apps don’t count, so the number reflects real AI use, not just a window left open.
A rolling window you can’t game by quitting
Counted seconds accumulate in a sliding window, and that progress is saved to disk. Quitting and relaunching doesn’t reset it — you pick up where you left off.
A minute’s warning, first
Before a break lands, Touch Grass taps you on the shoulder a minute ahead. Nothing yanks the screen out from under you mid-sentence — you get time to finish your thought and save your work.
The break
When you cross your limit, every display fills with a slow dawn-to-dusk landscape and a countdown. A little plant grows while you’re away. For its duration the overlay covers all screens and Cmd-Tab is paused — that’s the point. Its end time is saved too, so if you quit mid-break it simply resumes the remaining time when you come back.
Firm, but never a trap
There’s no anti-tamper daemon and nothing sketchy running in the background. The break always clears itself on its own timer, and a determined you can always quit the app. It’s a nudge with a nice view, not a cage.
Curious about the details? See the FAQ, read about privacy, or download it and try a tiny limit to watch it work.