Skip to content
Development
Hook

Hooks

What vaaya runs automatically, and when. A hook is a command Claude Code fires at a fixed moment, without you asking for it.

From plugin
vaaya
431 skill1 hook1 MCP
Install
> /plugin marketplace add vaaya-ai/vaaya-mcp
> /plugin install vaaya@vaaya

Ships with vaaya. Installing the plugin gets these hooks.

What fires, and when

SessionStart

Fires once when a session begins, and again after a context compaction. It is where a plugin sets up its environment, or restores state the compaction dropped.

  • Matchesstartup|clear|compactbash "${CLAUDE_PLUGIN_ROOT}/hooks/session-start.sh"
Read hooks/hooks.json

Where it lives

  • hooks/session-start.shRunsGitHub
    Read the script
    #!/usr/bin/env bash
    # SessionStart hook for the Vaaya plugin.
    #
    # Mirrors the superpowers plugin: read the forcing reminder from session-inject.md,
    # JSON-escape it with bash parameter substitution (no external deps like jq), and
    # print the structured `hookSpecificOutput.additionalContext` JSON that Claude Code
    # injects into the agent's context. This is the reliable channel — preferred over
    # raw stdout.
    set -euo pipefail
    
    SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
    payload="$(cat "${SCRIPT_DIR}/session-inject.md")"
    
    # Escape a string for embedding inside a JSON string value.
    escape_json() {
      local s="$1"
      s="${s//\\/\\\\}"   # backslash first
      s="${s//\"/\\\"}"   # double quotes
      s="${s//$'\n'/\\n}" # newlines
      s="${s//$'\r'/\\r}" # carriage returns
      s="${s//$'\t'/\\t}" # tabs
      printf '%s' "$s"
    }
    
    escaped="$(escape_json "$payload")"
    printf '{"hookSpecificOutput":{"hookEventName":"SessionStart","additionalContext":"%s"}}\n' "$escaped"
    

Read the script before you install anything that runs on your machine. This is the one part of a plugin that acts without being asked.

Ships withvaaya

MCP server for AI agent payments. An agent in Cursor, Claude Code, Claude Desktop, Codex, or any MCP host can call paid APIs (search, scraping, contact data, public records, compute, media, research) from one balance, with a spend ceiling it states on every

Get the whole plugin
Stats
43
Stars
7
Forks
Active
Maintenance
JavaScript
Language
MIT
License
5d ago
Last commit
2mo ago
Created

Repo: vaaya-ai/vaaya-mcp