Help · Pulse

Troubleshooting

Most issues come down to one of three things: a macOS permission, your session settings not matching how you type, or a filter quietly excluding the app you are in. Work through the steps below in order — they go from most common to least.

How Pulse works

Understanding how Pulse decides what to save makes most problems obvious. Pulse watches the timing of your keystrokes across your Mac — never the characters themselves — and groups them into typing sessions. A session is saved only when it clears the bars you set: a minimum number of characters, a minimum number of words, and an inactivity time that marks where one session ends and the next begins.

For example: if you type a single word and then pause for longer than your Inactivity time, and you have set a valid session to require at least 4 words, that word is discarded. It is not a meaningful sample of your speed, so it never reaches your statistics.

Separately, the menu bar figure refreshes on a schedule you control with Update interval — so the data there can lag a little behind what you just typed. That is expected, not a bug.

Pulse is not saving sessions

If the menu bar shows zero, never updates, or has not recorded anything new for a while, the most common cause by far is a permissions issue in macOS. Follow the steps below to find out exactly where things break in your setup.

Step 1 — Check that Pulse can read the keyboard

First, confirm Pulse is receiving keystrokes at all. The quickest test is to open Live Metrics from the menu bar. The Live Metrics HUD is a small floating panel that shows your typing speed in real time — so while you type, the number should climb and fall with your pace.

If the speed reacts as you type, Pulse can read your keyboard — this is not a permissions problem. Skip ahead to checking your session settings.

If it stays at zero while you type, Pulse is not receiving keystrokes. First, quit Pulse from the menu bar and reopen it. If it is still stuck at zero, it is a permissions problem — continue to the next step.

Step 2 — Check the Input Monitoring permission

Pulse counts keystrokes through the macOS Input Monitoring permission. (Older guides mentioned Accessibility — that is no longer how Pulse works; the permission you need is Input Monitoring.) To check it:

  1. Open System SettingsPrivacy & SecurityInput Monitoring.
  2. Find Pulse in the list and make sure its toggle is on.
  3. If Pulse is not in the list, click the + button and add it from your Applications folder. (Pulse also asks for this permission on first launch — if you click Open System Settings from its setup screen, it takes you straight to this list.)

macOS binds this permission when Pulse launches, so after you switch it on, Pulse needs to restart to start counting. Pulse will offer to restart for you the moment it detects the grant; if in doubt, quit it from the menu bar and reopen it. Then test again with Live Metrics.

Step 3 — If it is in the list but still does not work

Sometimes macOS keeps Pulse in the list but the grant goes stale — toggling it off and on does nothing. When that happens, reset it cleanly:

  1. Quit Pulse from the menu bar.
  2. In Input Monitoring, select Pulse and remove it with the button.
  3. Restart your Mac.
  4. Return to Input Monitoring and add Pulse back with the + button, then make sure its toggle is on.
  5. Open Pulse and confirm it is working with Live Metrics.

Check your session settings

If Live Metrics shows your speed but sessions still are not being saved, Pulse is working correctly — your settings just do not match how you type, so your sessions are being discarded as too short to count.

You can watch this happen live. Open the Live Metrics HUD and type a little, then pause. When you stop, the HUD blooms to show the session: it appears in green if the session was saved, and in red if it was discarded for not meeting your minimums. A red result means your thresholds are higher than the bursts you actually type. Live Metrics also lists your most recent saved sessions.

Pulse behaves exactly the same whether or not Live Metrics is open — the HUD just lets you see the decision in real time.

Open Settings in Pulse and adjust these to fit how you write. (Not every burst should be saved — a single word is not a fair measure of speed — so these thresholds exist to discard samples that would distort your statistics.)

One more setting can affect this: the Synthetic keystroke filter. Pulse drops paste, snippet expanders, AppleScript and other automated input so they do not inflate your speed. If your hardware or setup produces input that looks automated, this filter may discard legitimate typing — try turning it off if you suspect that.

Check your filter mode

Pulse can include or exclude specific apps under Settings → Filters. Which mode you are in changes what gets saved, so it is worth confirming:

If you expected a session and it never appeared, check whether the app is excluded — or, in inclusion mode, whether it was ever added to the tracked list.

Send us a diagnostic log

If you have worked through the steps above and Pulse still is not counting correctly, a diagnostic log lets us see exactly what Pulse decided for each keystroke and why. The log is off by default and stays entirely on your Mac — Pulse never uploads it. You share it with us only when you choose to.

The log records keystroke metadata — key positions, timing, the frontmost app, the active input source, and the accept/discard decision Pulse made — but never the characters or text you typed. It cannot be used to reconstruct what you wrote.

To capture and send a log:

  1. In Pulse, open Settings → General and find the Diagnostics section.
  2. Turn on Diagnostic logging. It records to a local file and auto-disables after 24 hours so a forgotten toggle never piles up.
  3. Reproduce the problem — type the way you normally do when sessions go missing. If you want a clean capture, use Clear logs first to start fresh.
  4. Click Reveal in Finder to open the logs folder (~/Library/Application Support/Pulse/DebugLogs/). The logs are .jsonl files.
  5. Email the file(s) to hello@utropia.es with a short note describing what you saw, your macOS version, and your Pulse version (shown under Settings → About).

When you are done, switch Diagnostic logging back off (or just let the 24-hour auto-shutoff handle it), and use Clear logs if you want to remove the captured files from your Mac.

Still stuck?

Pulse is built by a one-person team, and a human reads every message. Email hello@utropia.es — or use the contact page — and we will get back to you within a few days.