MCPcopy Index your code
hub / github.com/claude-code-best/claude-code / executeUserPromptSubmitHooks

Function executeUserPromptSubmitHooks

src/utils/hooks.ts:3985–4014  ·  view source on GitHub ↗
(
  prompt: string,
  permissionMode: string,
  toolUseContext: ToolUseContext,
  requestPrompt?: (
    sourceName: string,
    toolInputSummary?: string | null,
  ) => (request: PromptRequest) => Promise<PromptResponse>,
)

Source from the content-addressed store, hash-verified

3983 * @returns Async generator that yields progress messages and hook results
3984 */
3985export async function* executeUserPromptSubmitHooks(
3986 prompt: string,
3987 permissionMode: string,
3988 toolUseContext: ToolUseContext,
3989 requestPrompt?: (
3990 sourceName: string,
3991 toolInputSummary?: string | null,
3992 ) => (request: PromptRequest) => Promise<PromptResponse>,
3993): AsyncGenerator<AggregatedHookResult> {
3994 const appState = toolUseContext.getAppState()
3995 const sessionId = toolUseContext.agentId ?? getSessionId()
3996 if (!hasHookForEvent('UserPromptSubmit', appState, sessionId)) {
3997 return
3998 }
3999
4000 const hookInput: UserPromptSubmitHookInput = {
4001 ...createBaseHookInput(permissionMode),
4002 hook_event_name: 'UserPromptSubmit',
4003 prompt,
4004 }
4005
4006 yield* executeHooks({
4007 hookInput,
4008 toolUseID: randomUUID(),
4009 signal: toolUseContext.abortController.signal,
4010 timeoutMs: TOOL_HOOK_EXECUTION_TIMEOUT_MS,
4011 toolUseContext,
4012 requestPrompt,
4013 })
4014}
4015
4016/**
4017 * Execute session start hooks if configured

Callers 1

processUserInputFunction · 0.85

Calls 4

getSessionIdFunction · 0.85
hasHookForEventFunction · 0.85
createBaseHookInputFunction · 0.85
executeHooksFunction · 0.85

Tested by

no test coverage detected