Your Mac, by voice.
Say jarhead, pass Touch ID, then tell it what to do on your Mac.
MIT · $0.05 / min, per second
It sleeps until you say “Hey, jarhead.”
Asleep it listens on-device for one word.
- Speaker verification is not attempted.
- Touch ID
- Apple Watch
- the Mac password
- a passphrase
Codex, Claude Code, a key, or a model on your Mac.
You pick the brain in Settings.
- Every brain runs under the same policy, though a local one gets fewer tools.
Tasks run side by side, each with its own brain.
Up to three run beside the main one.
send I'm running late
to Ben?
Slack asks before it sends.Stop the Slack one
needs no model call.
Spotify runs in the background by Apple events.
It finds the label, clicks it and checks a screenshot.
The hands are a Swift helper.
- The blob moves to where the hands act.
- Circle anything with ⌃⌥C and every brain is told where it is.
A screenshot checks the work.
It knows what to just do and when to ask first.
It says the reason out loud, and no tool gets an exception.
- On-screen text is never an instruction.
A spoken yes covers one action once.
Click Save
runs.
A remembered yes never covers them.
mkfsdiskutil erasedd onto a deviceshutdownrm -rf / or ~Other apps' TCC resetsEvery secret store
You say it once, it never forgets.
Alarms, timers, watchers and routines fire while it sleeps.
- Nothing fires while Jarhead is quit.
- Alarms
07:10 · Wake up, Kevinweekdays - timers
11:56 · pasta - watchers
- routines
No session. The voice bills nothing.
Measured on one Mac and logged with dates.
The harnesses are in the repo.
- Reflex rows ran on pnpm jarhead bench, 2026-09-11.
- The spoken reply is Agora's measurement, 2026-07-09.
- Model rows ran real Codex, canned hands, 2026-09-12.
- ear final to hands dispatch, median3 msn = 50
- prefire partials, p95126 msn = 20
- careful partials, p95457 msn = 30
- GPT-Live-1 spoken reply, median1.11 sn = 30
- delegation to first visible action, median4.5 sn = 6
- delegation to verified completion, median9.0 sn = 10
It's five cents a minute and nothing asleep.
It counts by the second, and Pause or Stop closes the session.
- Codex runs on your ChatGPT plan.
- A local brain is free, but the voice still bills.
It takes four commands, then you say jarhead.
One line clones the repo and runs four commands.
Requirements
- macOS 14.5 or newer on Apple silicon
- Xcode 16 or newer
- Node 24 or newer and pnpm 10
- An OpenAI API key for the voice
- A brain you are already signed in to
- A Code Signing certificate, optional
A self-signed certificate is enough, and without one every rebuild resets the permission grants.
curl -fsSL https://jarhead.kevinliu.studio/ install.sh | shIt never writes your keys. Read it first at https://jarhead.kevinliu.studio/
git clone https://github.com/Kevin-Liu-01/ Jarhead.git && cd Jarhead pnpm install --filter '!./site' && pnpm build:handspnpm build:macbuilds, signs, installs /Applications/Jarhead.appopen -a JarheadSetup opens: your OpenAI key, a brain, permissions