keylightd is a daemon and CLI tool for managing Key Lights on your local network. While designed primarily for Elgato Key Lights, it may also support other HTTP-based lights with similar interfaces (if you have a compatible device not explicitly supported, please open a ticket).
The keylightd GNOME Extension provides convenient desktop control for your Key Lights and is available in the contrib/gnome-extension directory, from the releases page here, or from the GNOME extensions website here
| Lights On | Lights Off |
|---|---|
![]() |
![]() |
| Extension panel showing lights in the on state | Extension panel showing lights in the off state |
- Automatic discovery of lights via mDNS
- Grouping of lights for batch control
- HTTP REST API for remote control
- Unix socket and CLI interface for local control
- keylightd: Daemon that discovers lights, persists configuration, and exposes APIs
- keylightctl: CLI tool for managing lights and groups
graph LR
A[keylightctl] ---|Unix Socket| B[keylightd]
D[gnome-extension] ---|HTTP| B
B ---|mDNS/HTTP| C[Key Lights]
Download the latest release binaries and run:
# Start the daemon
./keylightd
# List discovered lights
./keylightctl light list
# Create a light group
./keylightctl group add "Office"
# Control a light group
./keylightctl group set Office on trueConfiguration files are automatically generated on first save in ~/.config/keylightd/.
Install via Homebrew using our official tap:
# Add the tap
brew tap jmylchreest/keylightd
# Install keylightd
brew install keylightdOr install directly:
brew install jmylchreest/keylightd/keylightdThis installs both keylightd and keylightctl binaries plus a service to run the daemon.
You can install it via AUR on Arch (package name is keylightd-bin). Add your user to the keylightd group to access the socket via CLI:
# Install via AUR helper (such as yay or paru)
paru -S keylightd-bin
# Add user to group for socket access
sudo usermod -a -G keylightd $USER
# Enable and start the service
sudo systemctl enable keylightd
sudo systemctl start keylightdFor detailed documentation, see github pages
PRs and issues are welcome! Please ensure all tests pass and code is formatted.
MIT License - see the LICENSE file for details.

