My main display is a separate monitor in front of me.
So every sign-in goes: look left at the laptop to get recognized, look right at the monitor to find the "OK" button, click, get on with my day.
Apparently this is the intended UX.
I wanted signing in to be a breeze instead, something that drifts past without you noticing.
So I wrote a small Rust Windows service, Breeze, to do exactly that.
When a Windows Hello credential dialog appears (Okta Verify, sudo-style prompts, and friends), it checks whether face recognition is the active method and, if so, clicks OK for you.
PIN and fingerprint are left alone.
The camera sees you, the dialog quietly closes, you keep working.
Matching uses AutomationId and ClassName rather than button text, so it works regardless of the Windows display language.
A few notes:
- ~2 MB single binary, no runtime deps
- The service runs in Session 0 and spawns a helper into the user session via CreateProcessAsUser with an elevated token from WTSQueryUserToken
- FocusChanged event -> locate "Credential Dialog Xaml Host" -> if a PasswordField is present, it's PIN mode, skip -> otherwise click OkButton
- Does not work for UAC / Secure Desktop prompts. Windows blocks UI Automation there by design.
Install: cargo install breeze-wh && breeze-wh install.
The second command auto-elevates, so no admin shell is needed.
https://github.com/evan-choi/breeze-wh
Feedback is very welcome, especially from anyone with a fingerprint reader.
I only have a face camera, so that path is still untested.