James Washington
writing about archive utils free game ideas replays
Technique

launchd daemons need their own TCC grants

Mac background services need their own privacy permissions; testing from a terminal lies.

The server in the closet

how it works

TCC grants are per binary path+cdhash; launchd makes the daemon its own responsible process; Mic/Camera rows only appear after requestAccess, so ship a tiny launcher that requests then spawns the real binary.

Technique: A pattern or hard-won lesson, written down so it isn't learned twice.

The code for this one lives in a private repo. This page explains the idea so you can build your own.

launchdmacostcctechnique

related

  • Run the tmux server in the GUI session so ssh panes can read Keychain Technique Lets remote terminal sessions use stored passwords and browser tools as if you were at the desk.
  • Headless shells need 0600 token files Technique Remote terminal sessions can't open the Mac's password vault, so they need separate locked-down token files.
  • seed-headless-tokens Command-line tool Sets up the login tokens that remote terminal sessions need, entered hidden at the console.
  • screenpipe / screenpipe-air MCP launcher (James wrapper) MCP server Lets the AI search what was on screen or said, on either computer.
  • Apple Reminders: Automation permission, not data permission Technique Why an AI can't add reminders even when it seems allowed, and the workaround.
← everything I've built
© 2026 James Washington
github twitter rss