Skip to content
Agent Orchestration
Hook

Hooks

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

From plugin
hello2cc
6891 agent11 hooks
Install
> /plugin marketplace add hellowind777/hello2cc
> /plugin install hello2cc@hello2cc-local

Ships with hello2cc. 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.

  • node "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" session-start

UserPromptSubmit

Fires before Claude sees each prompt you send. A plugin can use it to inject context, so the same instruction reaches the model every turn instead of only at session start.

  • node "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" route

SubagentStart

  • MatchesExplorenode "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-context.mjs" explore
  • MatchesPlannode "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-context.mjs" plan
  • Matchesgeneral-purposenode "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-context.mjs" general

SubagentStop

  • MatchesExplorenode "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-stop.mjs"
  • MatchesPlannode "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-stop.mjs"
  • Matchesgeneral-purposenode "${CLAUDE_PLUGIN_ROOT}/scripts/subagent-stop.mjs"

TeammateIdle

  • node "${CLAUDE_PLUGIN_ROOT}/scripts/teammate-idle.mjs"

TaskCompleted

  • node "${CLAUDE_PLUGIN_ROOT}/scripts/task-lifecycle.mjs"

TaskCreated

  • node "${CLAUDE_PLUGIN_ROOT}/scripts/task-lifecycle.mjs"

ConfigChange

  • node "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" config-change

PreToolUse

  • MatchesAgentnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-agent-model
  • MatchesTasknode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-agent-model
  • MatchesEnterWorktreenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-enter-worktree
  • MatchesTeamCreatenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-team-create
  • MatchesTeamDeletenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-team-delete
  • MatchesTaskCreatenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-task-create
  • MatchesTaskListnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-task-list
  • MatchesTaskGetnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-task-get
  • MatchesTaskUpdatenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-task-update
  • MatchesToolSearchnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-tool-search
  • MatchesEnterPlanModenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-enter-plan-mode
  • MatchesExitPlanModenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-exit-plan-mode
  • MatchesAskUserQuestionnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-ask-user-question
  • MatchesSendMessagenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" pre-send-message

PostToolUse

  • MatchesTeamCreatenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesTeamDeletenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesAgentnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesTasknode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesSendMessagenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesTaskCreatenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesTaskListnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesTaskGetnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesTaskUpdatenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesToolSearchnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesEnterPlanModenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesExitPlanModenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesAskUserQuestionnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use
  • MatchesWebSearchnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-use

PostToolUseFailure

  • MatchesAgentnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-failure
  • MatchesTasknode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-failure
  • MatchesEnterWorktreenode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-failure
  • MatchesWebSearchnode "${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.mjs" post-tool-failure
Read hooks/hooks.json
Ships withhello2cc

Make third-party models inside Claude Code behave closer to a native Opus session. hello2cc does not replace your gateway, provider mapping, or account setup.

Get the whole plugin
Stats
689
Stars
56
Forks
Maintained
Maintenance
JavaScript
Language
Apache-2.0
License
4mo ago
Last commit
6mo ago
Created
2h ago
Added

Repo: hellowind777/hello2cc