Project

Guillotine

Turns off a MacBook’s screen and keyboard backlight while keeping its display alive for remote access, so you can stream from it without lighting up the room. Closed-lid streaming is experimental.

  • No networking code
  • Root helper for lid-closed use
  • No account or telemetry
  • Swift, AppKit, and SwiftUI
  • macOS 13 or later, Apple Silicon MacBooks
  • GPL-3.0-or-later

Why I built it

I reach my MacBook from other rooms with Moonlight, often at night. Every time I disconnect, its screen comes back on, bright, in a dark room where my girlfriend is asleep. Turning the brightness to zero leaves the backlight on, and closing the lid puts the Mac to sleep or drops the display the stream is capturing. I wanted the panel physically off, with the display still there for the next stream.

I'd also like to use the MacBook like a headless Mac mini for AI-driven development: lid shut, plugged in, running agents I check on remotely. That part doesn't work reliably yet; see below.

What it does today

Guillotine's menu on a MacBook running on battery: Enable Guillotine, Mute built-in speakers while headless (checked), status lines for battery, built-in panel power control, the closed-lid policy, battery sleep, Low Power Mode, and the disable shortcut, then Settings, Headless Setup & Limitations, and Quit.

How it's built

What it can't do

Try it

brew install --cask benjweaver/guillotine/guillotine

Or download the zip from Releases. It's signed and notarized, so macOS opens it without a warning. It's free software under the GPL.