[FEATURE] Add UserInputStart hook to detect when user begins typing

Resolved 💬 2 comments Opened Feb 4, 2026 by powerbenben Closed Mar 5, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

There is no way to detect when a user starts interacting with Claude Code after a response completes. The only input-related hook is UserPromptSubmit, which fires only when the user presses Enter to send a prompt — not when they first begin typing
or click in the input field.

This makes it impossible to build "acknowledgment" workflows where an external script reacts to "user has seen the response" rather than "user has submitted a new prompt".

Proposed Solution

Add a new hook that triggers when the user begins any input activity after Claude's response:

  • UserInputStart — fires on the first keypress or click in the input field after Stop

This would allow scripts to react to "user has acknowledged the response" rather than "user has submitted a new prompt".

Alternative Solutions

  • iTerm2 Python API: Works but requires a separate daemon script and is iTerm-specific
  • iTerm2 keybinding: Works but requires an explicit extra keystroke
  • Keybindings in Claude Code: Cannot execute shell commands, only internal actions

Priority

Critical - Blocking my work

Feature Category

CLI commands and flags

Use Case Example

I use hooks to change my iTerm2 tab color to green when Claude finishes responding (Stop hook), so I can work in other tabs and see at a glance when Claude is done.

Currently, the tab goes back to normal on UserPromptSubmit (when I press Enter). However, I'd like the tab to reset as soon as I start interacting — acknowledging that I've seen the result — rather than waiting until I submit a new prompt.

Additional Context

The existing hooks are all lifecycle-based (session, tools, prompts). A lightweight "user is back" signal would enable better terminal/notification integrations without requiring external tooling.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗