Analysis updated 2026-05-18
Get an ambient visual signal for when your AI coding agent is running, waiting, or done, without checking the terminal.
Wire up Claude Code, Codex CLI, or Antigravity hooks to change your keyboard's lighting on lifecycle events.
Add support for a new VIA enabled QMK keyboard by finding its effect indices with the built in probe command.
| emberglow-dev/emberglow-keyboard | 100/awesome-machine-learning | adam-s/car-diagnosis | |
|---|---|---|---|
| Stars | 8 | 8 | 8 |
| Language | Python | Python | Python |
| Last pushed | — | 2024-08-07 | — |
| Maintenance | — | Stale | — |
| Setup difficulty | easy | easy | moderate |
| Complexity | 2/5 | 1/5 | 3/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Only tested on a wired Keychron Q10, other QMK boards need manual effect index discovery.
Emberglow is a small tool that turns your keyboard's RGB lighting into a status light for AI coding agents. It talks to a Keychron Q10 keyboard over the VIA protocol, the same low level connection VIA's own configuration app uses, so no extra software or background service is needed, aside from making sure the VIA app itself is closed while Emberglow runs. The idea is simple: your keyboard glows blue while an agent like Claude is working, flashes green and returns to normal once it finishes, breathes amber if it needs your input or approval, and turns solid red if something failed. It was built with Claude Code in mind, but the command line tool itself, emberglow set state, just runs a shell command, so any tool that can fire a command on a lifecycle event can drive it. The README shows working examples for Claude Code hooks, OpenAI Codex CLI's notify system, Google Antigravity's hook system, and Anthropic's webhook based Managed Agents. Right now only the Keychron Q10 is officially tested, though the author says any VIA enabled QMK keyboard should work in principle, since the lighting engine itself is not tied to one specific board. Getting a new board working means using the built in enumerate and probe commands to find its USB identifiers and figure out which lighting effect index corresponds to solid versus breathing light, then setting those as environment variables. Setup involves cloning the repository, creating a Python virtual environment, and installing with pip. Python 3.10 or newer is required. For Claude Code, hooking it up is just a few lines added to a settings.json file mapping prompt submission to working, notifications to needsyou, and session stop to done. The project notes a few real gotchas along the way, such as Windows paths needing forward slashes inside hook commands, and Codex CLI currently only exposing a single lifecycle event rather than a full set.
A CLI that makes your Keychron keyboard glow different colors depending on whether Claude Code, Codex, or another AI agent is working, waiting, or done.
Mainly Python. The stack also includes Python, QMK, VIA protocol.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.