Pawvis: touch-free hand control for your Mac

Pawvis

14 min read Original article ↗

Touch-free hand control for macOS

Pawvis - Open-source local webcam hand-tracked mouse + voice control | Product Hunt

A mouse made of thin air.
Your hand is the cursor.

Pawvis reads your hand through the webcam: raise it and the cursor follows, dip a finger to click, fold two fingers to scroll. Train gestures of your own to fire any shortcut, app, or command. Nothing to touch, no frame ever leaves your Mac.

Signed & notarized  ·  macOS 14+  ·  Free & open source (MIT)

Watch the demo film on YouTube (opens in a new tab)

Watch feature demo

Pawvis moving the cursor by hand, live.

Gestures

Your webcam is the sensor.

The camera already built into your Mac watches your hand and tracks its 21 joints many times a second, using Apple's Vision framework. Nothing to wear, nothing to hold, no depth sensor, no hardware to buy. Sit down, hold up a hand, and your Mac can already see it.

Tracking watches whenever it's on, but the cursor only follows once you show an open hand: all four fingers up, thumb free. Close a fist for a moment, or leave the frame, and it parks. A hand that's merely visible, resting or typing or gesturing, never drags the cursor around.

Move

Hold your hand open, fingers up, and move it. The cursor rides your palm.

Click

Dip your index finger, like tapping a mouse button. A quick release is always a clean click.

measured against your middle finger, so tilting your hand can't click

Right-click

Dip your pinky the same way. Hold it down to right-drag. A third finger can middle-click, off by default.

pinky by default, configurable

Drag & hold

Keep the finger down and move. Deliberate movement starts a drag immediately; a short window protects quick clicks from becoming accidental drags.

the window length is a slider

Double & triple click

Tap again quickly in the same spot. Chained clicks land where the first one did.

Dwell click

Clicking without the finger dip: hold the cursor still on a target and the click fires on its own, the ring tightening as it counts down. Move away to arm the next one. Built for hands that can't manage a crisp dip; the cursor can also ride a fingertip instead of the palm.

off by default · dwell time is a slider · never fires while pressing, scrolling or parked

Custom gestures, your actions

Wiggle your fingers at the camera, drum on invisible keys, hold a fist with the thumb up, down, left or right, hold a shaka, or bunch your fingertips and fling them at any edge. Or teach Pawvis a motion of your own: record it a few times and it learns to match it. Every gesture lives in Settings → Gestures, off until you give it an action: switch desktops, move windows, press any shortcut, open any app, run any command. Per-app actions let one gesture mean different things in different apps.

nothing bound by default · per-app actions · train your own from the camera

Scroll

Fold your middle and ring fingers in, index and pinky up, then move your hand up and down. Switch on horizontal scrolling to go sideways too. The cursor parks while the pose is held.

speed, direction and horizontal scrolling in Settings

Stop tracking

Hold up both hands, fingers spread wide, and wave them across each other. Trade sides twice and tracking switches off, the same as the menu bar switch.

optional, on by default; crossings configurable

Reach adapts to distance

Auto mode sizes the tracking area from how big your hand looks, so the whole screen stays reachable up close and far away. Manual mode gives you a fixed area and a slider.

On screen, a claw rides your palm: open while pointing, purple while the left button is held, blue for the right, pink for the middle, ringed in light blue while scrolling, faded while control is parked. A ring tightens as your click forms, a pulse confirms every click, and small dots mark each detected fingertip. The menu bar icon opens a live status panel (hands seen, control armed, voice state, and a camera picker once more than one camera is around) plus a Gesture Guide that walks through every move, including the custom ones you bind. A short practice round, run once after the welcome and again from Settings → About, teaches the basics against live targets with the tracker's view of your hand beside the board. And the menu opens a theremin: switch it on and your hands play a real instrument, pitch at the antenna on the right, volume over the loop on the left, with a scale magnet and a tuner to play in tune, and recordings you can export as MP3 without anything leaving your Mac. The mouse set is tunable in Settings → Mouse; the bindable gestures live in Settings → Gestures, and Settings → Tracking can switch the mouse off entirely, leaving your hands as a remote that only fires the gestures you assign.

Made for

Four reasons to raise a hand.

Concrete moments people actually reach for Pawvis instead of the mouse sitting right next to them.

Rest your wrists

Read, scroll, and browse with an open hand instead of a grip. A mouse-free stretch for the parts of the day an RSI habit already asks you to take one.

Present from across the room

Switch Tracking to custom gestures only and your hands become a remote, nothing in your pocket, nothing to plug in. Bind a gesture to advance slides or hit play, and drive the whole deck from the back of the room.

Hands full, screen far

Flour on your hands, coolant on your gloves, chemicals you don't want anywhere near a keyboard: raise a hand at the screen anyway. Fold two fingers to scroll the recipe or the datasheet, dip one to click, and touch nothing.

Accessibility

For anyone who finds a physical mouse the obstacle rather than the tool: hands or a spoken word become the input instead, and the code is open to inspect. Pawvis is still young, working toward real accessibility-grade reliability, not claiming to be there yet.

Voice beta

Talk to your Mac
by name

Switch it on in Settings → Voice (Beta), press Start in the menu bar, and say the wake word. Every command begins with it, so anything you say that isn't meant for Pawvis is ignored: never acted on, never typed, never put on screen.

  • Pawvis, go to github.com
  • Pawvis, type good morning
  • Pawvis, press command shift T
  • Pawvis, open Notes
  • Pawvis, switch to Chrome
  • Pawvis, close the window
  • Pawvis, scroll down a page
  • Pawvis, click sign in
  • Pawvis, open Notes and start a new note
  • Pawvis, stop listening

The wake word is configurable, and mishearings are tolerated. Speech recognition is Apple's on-device engine: private, free, no API key, no cloud. Anything that isn't a set phrase goes to on-device Apple Intelligence, which carries it out step by step: it reads the screen, acts, looks again, and repeats until the request is done, up to eight steps. Say the wake word and “stop” to cancel. That part needs macOS 26; everything else works without it.

optional  ·  off by default

Or hand the whole command to an agent

Point Pawvis at an agent CLI you already have installed, Claude Code or Codex, and it stops parsing your speech and starts delegating it. Say “Pawvis, clean up my downloads folder” and everything after the wake word is piped to the agent to carry out with computer use, running headless in the background.

  • By default the command is read back on screen first and sent only after you say “Pawvis, yes”; “no”, silence, or a newer command cancels it.
  • Runs go one at a time, and every hand-off lands in a local log only you can read, instruction and outcome both.
  • A panel streams the agent's output live while it works, with a Cancel button.
  • Running sessions stay listed, and cancellable, under Settings → Voice.
  • The outcome, success or failure, always flashes in the on-screen capsule.
  • “Pawvis, stop listening” stays local, so you can always shut it off instantly.

Read this part twice: the agent does not ask. Claude Code and Codex are launched with their own permission prompts turned off, so nothing pauses to confirm anything. Whatever the agent was handed, it carries out, with your account, your files and your logged-in sessions: deleting things, installing things, running shell commands, sending things on your behalf. Speech recognition is not perfect, and a misheard command is still executed. This is also the one mode that sends what you say beyond your Mac. It ships off by default, and Pawvis makes you accept a warning dialog before it will turn on. The spoken read-back is the one check standing in front of a send, you can switch it off, and once a command is sent nothing asks again. Turning it on is your call and your responsibility: no liability is accepted for what an agent does with your machine, however it was asked.

Privacy

Nothing leaves your Mac
unless you ask it to.

on-device

Hand tracking

Apple's Vision framework, running entirely on your machine. Camera frames are processed in memory and discarded.

on-device

Speech recognition

Apple's on-device engine: SpeechAnalyzer on macOS 26+, SFSpeechRecognizer before that. Voice audio never leaves your Mac.

on-device

Visual commands

On-device Apple Intelligence reads the screen around your pointer. Its snapshots stay in memory, never written to disk, never uploaded.

  • The menu bar icon carries a dot for as long as the mic is live, and an on-screen pill announces listening, then fades so it isn't sitting on your screen all day.
  • The claw overlay is excluded from screenshots and screen recordings by default. (There's a toggle if you want to record a demo.)
  • No API key, no account, no cloud service in the setup you get out of the box. The optional agent hand-off is the one exception, and it stays off until you switch it on.

Compare

What your Mac already has.

macOS already ships three ways to go without a mouse: Head Pointer, Voice Control, and Dwell. Here's an honest read on when each one is the better choice, and when Pawvis is.

macOS built-in

Head Pointer

What it is
A head-tracking cursor built into macOS Accessibility. Tilt your head and the pointer follows; it still needs a separate click method, often Dwell, to press anything.

Better choice when
Zero install, and hand or wrist mobility, not head mobility, is the actual limitation.

Pawvis instead when
Sustained head movement strains your neck, or you want real gestures, not just a cursor, bound to shortcuts and apps.

macOS built-in

Voice Control

What it is
Apple's full voice command system: numbered or grid overlays for precise clicks, plus dictation, built into every Mac.

Better choice when
Your hands are the whole obstacle, not just the mouse, and you want Apple's most mature, most deeply integrated accessibility tool.

Pawvis instead when
You want a cursor that just moves with your hand instead of calling out grid numbers for every click.

macOS built-in

Dwell

What it is
A hover-to-click method in macOS Accessibility. Hold the pointer still on a target and it clicks itself after a timer.

Better choice when
You're pairing it with a pointing method that has no click gesture of its own, like pure head tracking.

Pawvis instead when
You want a deliberate click, a finger dip, instead of racing a countdown every time you pause to look at something.

All three ship free on every Mac, with years of Apple's own accessibility work behind them: for plenty of people, one of the built-ins is simply the right answer. Pawvis is a different bet: hands as the input, gestures you train yourself and bind to a shortcut, an app, a window snap, a desktop switch, or play/pause, and the whole thing is open source, so you (or anyone else) can read exactly what it does.

FAQ

Questions people actually ask.

Can I use Zoom while Pawvis uses the camera?

Often, yes. macOS can share the built-in camera between apps on most modern Macs, so Zoom and Pawvis can both have it open at once. If another app ever takes exclusive control, Pawvis simply stops getting frames until it's released, and hand tracking pauses right along with it.

What does it cost in battery or CPU?

Tracking runs Vision hand-pose inference on every camera frame while it's on, so there's a real, continuous cost, lighter on Apple silicon than on Intel. Switch tracking off from the menu bar (or quit the app) when you're not using it and that cost goes to zero.

Does it work in low light, or with an external webcam?

Vision needs a reasonably lit hand to find and track, so a dim room or heavy backlighting makes it flaky, the same as any camera-based tracking. Any camera macOS can see works: the built-in one, a USB webcam, or your iPhone as a Continuity Camera (see below). Pick it in Settings → General or from the menu bar.

Can I use my iPhone as the camera?

Yes. Whenever macOS offers it as a Continuity Camera (nearby, signed in to the same Apple Account, over a cable or not) it appears in the camera picker in Settings → General and in the menu bar; pick it and Pawvis tracks your hand through it. Continuity Camera uses the iPhone's rear lenses, not the selfie camera, so point the back of the phone at you; if Pawvis says the camera shows no image, the lens is looking at nothing. Apple gives Mac apps no way to reach the iPhone's front camera, so there is no front/rear choice to offer. Pawvis never switches cameras on its own: Automatic is your Mac's built-in camera. Unplug the phone and tracking moves to the built-in camera right away and tells you, the picker shows your pick as "not connected", and Pawvis returns to it the moment it is back.

Intel or Apple silicon?

Both, macOS 14 or later either way. Hand tracking leans on Apple's Neural Engine, so it runs noticeably lighter on Apple silicon than on an Intel Mac.

Why does voice's step-by-step autopilot need macOS 26?

That mode runs on Apple Intelligence's on-device model, which macOS only ships starting with version 26. Everything else in voice, the wake word, the built-in commands, plain speech recognition, works on macOS 14 already.

Is the theremin a real instrument or a toy?

It is built to be played. The pitch axis is linear in semitones (equal hand travel is an equal interval) over a range you choose, there is a tuner reading the note and cents, a glide control, five voices with brightness, vibrato and reverb, and a scale magnet that pulls the pitch toward the notes of a scale as hard or as gently as you like, so you can actually play in tune while you learn; switch it off for the real, continuous instrument. Record a take and export it as MP3 or 24-bit WAV. The MP3 encoder is inside Pawvis, so exporting never touches a server. Camera-based tracking adds some latency and jitter compared with a real antenna, so treat it as an expressive lead instrument rather than a precision one.

Is anything sent to the cloud?

No, not by default. Hand tracking, speech recognition, and visual commands all run on-device; the one exception is the optional agent hand-off, off until you switch it on, which sends what you say to Claude Code or Codex. See the Privacy section above for exactly what that covers.

Install

Thirty seconds to paws-on

  1. Download

    Pawvis.zip, always the latest release.

  2. Unzip

    Releases are signed with a Developer ID and notarized by Apple, so it opens normally, with no right-click → Open.

  3. Drag to Applications

    Pawvis lives in your menu bar and starts with you at login. (There's a toggle, and it won't put itself back.)

On first run, it asks for

  • CameraHand tracking. Frames are processed in memory and discarded.
  • AccessibilityMoving the cursor and clicking. Tracking runs without it, but clicks won't land until it's granted.
  • MicrophoneOnly when you first start voice control.
  • Screen Recording (optional)Lets visual voice commands OCR what accessibility can't describe. Everything else works without it.
  • Notifications (optional)Asked the first time an update is actually waiting, never at launch. Say no and new versions still show in the menu bar.

Download for macOS

Asks for the first two in context, then a skippable two-minute practice round teaches the moves against live targets.

Checks for updates once a day, tells you in a notification, and installs them itself from Settings → About.