Agent Plugins Marketplace
All plugins

notify

v0.1.0

Claude Code Hooks 通知插件 - 通过系统通知和 TTS 语音实时提示会话状态变更、权限请求等重要事件

Claude Code

By lazygophersLicense: AGPL-3.0-or-later4 GitHub starsUpdated yesterday

Directory evidence

Runtimes
Claude Code
Parsed components
0 skill or MCP entries
Source updated
Sep 23, 2026
Manifest status
Canonical path parsed

The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology

Install notify for Claude Code

Installs for the current user
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install notify-4@agent-plugin-marketplace

Paste and run these commands in a terminal with Claude Code. They add and refresh the PluginsMP catalog, then install this plugin.

The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.

Get the source manually
git clone https://github.com/lazygophers/ccplugin

Clone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is plugins/tools/notify/.

Plugin files

plugins/tools/notify/
└── .claude-plugin/plugin.json

Plugin manifests1

plugins/tools/notify/.claude-plugin/plugin.json
{
  "name": "notify",
  "description": "Claude Code Hooks 通知插件 - 通过系统通知和 TTS 语音实时提示会话状态变更、权限请求等重要事件",
  "version": "0.1.0",
  "author": {
    "name": "lazygophers",
    "email": "[email protected]",
    "url": "https://github.com/lazygophers"
  },
  "homepage": "https://github.com/lazygophers/ccplugin/tree/master/plugins/tools/notify",
  "repository": "https://github.com/lazygophers/ccplugin/tree/master/plugins/tools/notify",
  "license": "AGPL-3.0-or-later",
  "keywords": [
    "notification",
    "system-notification",
    "hook",
    "event",
    "tts",
    "sound",
    "alert"
  ],
  "commands": [
    "./commands/notify-config.md"
  ],
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "Setup": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 30
          }
        ]
      }
    ],
    "UserPromptExpansion": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PreToolUse": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PostToolUseFailure": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PostToolBatch": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PermissionRequest": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PermissionDenied": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "Notification": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "MessageDisplay": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "SubagentStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "SubagentStop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "TaskCreated": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "TaskCompleted": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "StopFailure": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "TeammateIdle": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "InstructionsLoaded": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "ConfigChange": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "CwdChanged": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "FileChanged": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "WorktreeCreate": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "WorktreeRemove": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PreCompact": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "PostCompact": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "Elicitation": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "ElicitationResult": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ],
    "SessionEnd": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "uv run --directory ${CLAUDE_PLUGIN_ROOT} ./scripts/main.py hooks",
            "async": true,
            "timeout": 10
          }
        ]
      }
    ]
  }
}

If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.

[notify on Agent Plugins Marketplace](https://pluginsmp.com/plugins/notify-4)