By dsc8x
Webhook notifier for Claude Code. Sends JSON POST notifications on Stop, PermissionRequest, and AskUserQuestion. No state files, no logs, no statusline.
Webhook notifier for Claude Code. Sends a JSON POST to your endpoint when
Claude finishes a turn, asks for input, requests permission, or invokes
AskUserQuestion.
That's the entire scope. No state files. No log files. No name generator. No statusline. If you want a richer setup (auto-named sessions, statusline display, etc.) those concerns belong in your statusline / dashboard / external plugin — agentio reads CC's native data sources only.
claude plugin marketplace add https://github.com/dsc8x/agentio-claude-plugin
claude plugin install agentio@agentio
Start a new Claude Code session to activate the hooks.
Set the webhook URL in your environment, or in ~/.claude/.env:
AGENTIO_EVENTS_WEBHOOK_URL=https://your-webhook-url/endpoint
Without it, agentio silently no-ops.
| Hook | When |
|---|---|
PreToolUse(AskUserQuestion) | Claude is about to ask the user a question |
PermissionRequest | Claude needs permission approval |
Stop | Claude finished a turn — sends task_complete for substantive turns or needs_input if the message looks like a question |
agentio — instructs the model to call agentio-notify --event task_complete --message "<summary>" after substantive tasks. Activate with outputStyle: "agentio:agentio" in your settings.
/setup - Interactively configures AGENTIO_EVENTS_WEBHOOK_URL in ~/.claude/.env{
"event": "task_complete",
"message": "Brief summary of what was done",
"session_id": "abc123…",
"session_name": "SwiftRaven",
"cwd": "/path/to/project",
"timestamp": "2026-04-28T20:30:00.000Z",
"hostname": "machine-name",
"user": "username"
}
| Event | Description |
|---|---|
task_complete | Claude finished a substantive task |
needs_input | Claude is waiting for user input |
ask_user | Claude invoked AskUserQuestion |
permission_request | Claude needs permission approval |
session_name comes fromAgentio doesn't generate names. The session_name field in webhook payloads
is read from CC's session transcript, which records whatever you passed via
claude --name X at session start:
claude --name "DeployFix" # webhook payloads → "session_name": "DeployFix"
claude # webhook payloads → "session_name": ""
The name is stored as an agent-name event in
~/.claude/projects/<proj>/<session-id>.jsonl. Any tool — including custom
statuslines, dashboards, or other plugins — can read it the same way.
If you'd like auto-generated names without manually passing --name, install
the dsc8x plugin, which ships
a deterministic AdjectiveAnimal-style namer (and a richer statusline).
# Direct mode (used by the agentio output style)
agentio-notify --event task_complete --message "Tests are passing"
# With explicit session metadata
agentio-notify --event task_complete --message "Done" \
--session-id <uuid> --session-name "DeployFix"
# Hook mode (CC invokes this; payload arrives on stdin)
agentio-notify --handler stop
agentio-notify --handler permission_request
agentio-notify --handler ask_user
agentio-notify --version
agentio-claude-plugin/
├── .claude-plugin/
│ ├── marketplace.json
│ └── plugin.json
├── commands/
│ └── setup.md
├── hooks/
│ └── hooks.json
├── scripts/
│ └── agentio-notify
├── styles/
│ └── agentio.md
└── README.md
MIT
Matches all tools
Hooks run on every tool call, not just specific ones
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
No model invocation
Executes directly as bash, bypassing the AI model
No model invocation
Executes directly as bash, bypassing the AI model
npx claudepluginhub dsc8x/agentio-claude-plugin --plugin agentioDesktop notifications showing what Claude Code is working on - stay informed even when the terminal is not in focus. Optional sound alerts and AI summaries
Repowire mesh usage skills for AI coding agents: cross-agent review and planning, delegate, usage patterns, and install/update. Backend-agnostic and parameterised on the agent you choose.
Multi-provider notification plugin for Claude Code
Agent command center for orchestrating Claude Code agents with mail, messaging, code reviews, and persistent agent lifecycle hooks.
Mission Control for Claude Code — auto-starts a web dashboard, provides 90 MCP tools (sessions, stats, live monitoring, projects, teams, insights, coaching, and more), and adds 9 skills including /session-recap, /daily-cost, /standup, /coaching, /insights, and /team-status.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.