npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

agentlights

v0.2.1

Published

Color your Claude Code terminal pane when Claude is waiting on you

Readme

agentlights

npm version License: MIT Node

Color your Claude Code terminal pane when Claude is waiting on you.

If you run multiple Claude Code sessions in split terminal panes and lose track of which pane is idle and waiting on input, agentlights gives each pane a subtle background tint the moment its Claude finishes a turn — so you can tell at a glance which pane needs you. It's a tiny shell script wired into Claude Code's hooks; no daemon, no plugin, no IPC.

Install

npx agentlights init

That's it. This wires three Claude Code hooks (Stop, UserPromptSubmit, SessionEnd) and installs a small shell script at ~/.claude/agentlights/colorize.sh. Existing hooks in your ~/.claude/settings.json are preserved — agentlights appends, never overwrites.

Verify

npx agentlights test

Your pane background should turn a subtle indigo for 3 seconds, then return to default. If it does, you're set.

Customize the color

export AGENTLIGHTS_WAITING_COLOR=#3a2a40

Any hex color works. Add it to your shell rc to make it permanent.

Uninstall

npx agentlights uninstall

Removes only the hooks and files agentlights added.

How it works

Claude Code's Stop hook fires when Claude finishes a turn. agentlights' hook script writes an OSC 11 escape sequence (a standard ANSI control code) to the pane's terminal, which tells Ghostty (and most modern terminals) to repaint the background. UserPromptSubmit and SessionEnd hooks emit OSC 111 to reset.

Claude Code runs hooks in a detached session with no controlling terminal, so /dev/tty isn't available. The hook script therefore resolves the pane's real terminal device by walking up the process tree to the claude process that owns it, then writes the escape there. Each terminal pane is independently signaled because each hook's ancestor is its own per-pane claude process. No daemon, no IPC, no Ghostty plugin.

Compatibility

agentlights uses OSC 11 / OSC 111, which most modern terminals support.

| Terminal | Status | |---|---| | Ghostty | Verified | | iTerm2 | Likely works — verification needed | | kitty | Likely works — verification needed | | WezTerm | Likely works — verification needed | | Alacritty | Likely works — verification needed |

If npx agentlights test works in a terminal not yet marked Verified, please open an issue so the table can be updated. PRs welcome.

Troubleshooting

npx agentlights doctor

Verifies the script is present, executable, and up to date, that the hooks are wired, and prints your configured color. If you upgraded from an older version, run npx agentlights init again to refresh the installed script.

If your pane isn't being colored inside a terminal multiplexer (tmux, screen) or another unusual setup, you can point the hook at a specific terminal device explicitly:

export AGENTLIGHTS_TTY=$(tty)

License

MIT