tkmct

Herdr Wsl Notify — Development skill for Claude Code

Development community

A Herdr plugin that shows a Windows desktop toast when an agent (Claude Code, etc.) running under WSL2 becomes done (finished) or blocked (waiting for approval/input).

How to install Herdr Wsl Notify

This entry records only its repository, not the path inside it, so there is no exact command to give. Open tkmct/herdr-wsl-notify and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Herdr Wsl Notify does

A Herdr plugin that shows a Windows desktop toast when an agent (Claude Code, etc.) running under WSL2 becomes done (finished) or blocked (waiting for approval/input).

Alternatives in Development

  • Claude Context Mode — An MCP server that sits between Claude Code and these outputs 5.3k ★
  • Continuous Claude — Run Claude Code in a continuous loop, autonomously creating PRs, waiting for checks, and merging 1.3k ★
  • Claude Code Zh Cn — Claude Code CLI 简体中文本地化 / 汉化插件;支持 macOS、Linux、WSL、Windows 与新版 native,一行安装,更新后自动修复 721 ★

README

herdr-wsl-notify

A [Herdr](https://herdr.dev) plugin that shows a Windows desktop toast when an agent (Claude Code, etc.) running under WSL2 becomes **done** (finished) or **blocked** (waiting for approval/input).

  • Zero dependencies (Node.js 18+ only; no npm packages, no BurntToast install)
  • Calls the built-in Windows WinRT API directly via powershell.exe -EncodedCommand (~0.4 s measured)
  • Notifications for the same pane replace each other instead of stacking (Toast Tag = pane_id)
  • Debounce against status flapping, plus skipping of the currently focused pane

See [docs/DESIGN.md](docs/DESIGN.md) for the design and research notes.

Requirements

  • WSL2 with Windows interop enabled (i.e. powershell.exe can be launched from WSL)
  • Node.js 18+ (on the WSL side)
  • Herdr 0.7.0+

Installation

From GitHub:

herdr plugin install /herdr-wsl-notify

For local development/use:

git clone 
cd herdr-wsl-notify
herdr plugin link .

Verify it works:

herdr plugin action invoke test --plugin tkmct.wsl-notify

If a test toast appears in the bottom-right of your Windows desktop, you are set. From then on, the hook runs every time Herdr fires a `pane.agent_status_changed` event and notifies you about agents that become `done` / `blocked`.

What the notification shows

✅ Claude is done
Issue #3181 Async tag insert        ← what the session is working on (terminal title)
📁 crm (my-workspace)               ← working directory (workspace name)

The "what it's working on" line is the current-task summary the agent sets as the terminal title (tracked by Herdr as `terminal_title_stripped`), fetched at notification time via `herdr agent get `. The event payload itself does not include the title, so if it cannot be fetched (e.g. the pane has already closed) it falls back to the tab name, then the workspace name.

Configuration

CONFIG_DIR="$(herdr plugin config-dir tkmct.wsl-notify)"
cp .env.example "$