원문 캡처 · github.com
원문 캡처 · github.com

capslkagent는 키보드의 Caps Lock LED를 Claude Code, Codex, pi, oh-my-pi(omp), Amp, opencode의 상태 표시등으로 바꾸는 도구다. macOS·Linux·Windows에서 쓸 수 있으며, 에이전트가 작업 중인지, 사용자의 응답을 기다리는지, 대기 중인지 불빛으로 확인할 수 있다.

불빛이 계속 켜져 있으면 에이전트가 작업 중이고, 깜빡이면 권한 요청이나 질문 등 사용자의 주의가 필요하다는 뜻이다. 꺼져 있으면 에이전트가 대기 상태다. 맥 노트북에서는 --backlight 옵션으로 키보드 백라이트를 대신 사용할 수 있다. 이때 작업 중에는 밝아지고, 응답이 필요하면 깜빡이며, 대기 상태가 되면 원래 밝기로 돌아간다.

GitHub 저장소에서 Homebrew로 설치하거나 릴리스 바이너리를 내려받을 수 있다. 설치한 뒤 capslkagent install-hooks --agent all을 실행하면 이 컴퓨터에 설정된 지원 에이전트에 연결된다. 설정을 마친 뒤에는 에이전트를 다시 시작해야 한다. 바이너리의 위치를 옮겼다면 훅을 다시 설치해야 하며, 반복 실행해도 기존 capslkagent 설정만 교체한다. Codex에서는 설치 후 /hooks를 한 번 실행해 새 훅을 신뢰해야 한다.

Claude Code와 Codex는 셸 훅을 사용하며 기존 훅은 유지된다. pi, omp, Amp, opencode는 작은 관리 파일을 설치해 바이너리를 실행한다. 이 도구는 직접 작성하지 않은 파일을 덮어쓰거나 삭제하지 않는다. opencode 작업 세션과 omp 하위 에이전트는 불빛을 제어하지 않으며, 자체 권한 요청 기능이 없는 pi는 확장 대화상자가 열릴 때만 깜빡인다.

깜빡임은 키보드나 마우스를 움직이면 멈추고, 불빛은 깜빡이기 전 상태로 돌아간다. macOS와 Windows에서는 시스템의 유휴 타이머를 이용해 이 동작을 하므로 접근성 권한이 필요 없다. Linux에는 권한 없이 시스템 전체의 입력 유휴 상태를 확인할 방법이 없어, 에이전트의 다음 이벤트가 발생할 때 깜빡임이 멈춘다.

주의할 점은 macOS와 Windows에서 Caps Lock 불빛이 실제 Caps Lock 상태와 연결된다는 것이다. 불빛이 켜져 있는 동안 입력하면 대문자가 입력될 수 있다. Linux의 sysfs 방식은 입력 상태를 바꾸지 않으며, 맥 노트북에서는 --backlight를 선택해 이 문제를 피할 수 있다. macOS의 백라이트 제어는 비공개 CoreBrightness.framework에 의존해 향후 macOS 버전에서 작동하지 않을 수 있다. 저장소에는 macOS 26에서 작동한다고 적혀 있으며, 시스템의 자동 밝기 조절이 별도로 밝기에 영향을 줄 수도 있다.

Linux에서 기본 설정으로는 /sys/class/leds/.../brightness에 쓰기 권한이 필요하다. 저장소는 udev 규칙으로 사용자 접근 권한을 부여하는 방법을 안내한다. 설치와 플랫폼별 조건은 capslkagent 저장소, 바이너리는 릴리스 페이지에서 확인할 수 있다.