Skip to content llms.txt

json_io_protocol

Whether hooks communicate with the host via structured JSON on stdin/stdout rather than plain text or exit codes alone.

Type: bool Content type: hooks

ProviderSupportedMechanism
claude-codeCommand hooks receive event JSON on stdin; respond with JSON on stdout (exit 0); structured fields: continue, stopReason, suppressOutput, systemMessage, hookSpecificOutput
cursorCommand hooks receive event data as JSON on stdin and may return structured JSON on stdout to signal decisions and supply output fields.
gemini-clihook_io_protocol: Gemini CLI hooks receive event data as JSON on stdin and return structured JSON responses on stdout
windsurfjson_stdin_context: Windsurf hooks receive event context as JSON on stdin
ampAmp hooks signal decisions via exit codes and declarative action types; no JSON stdin/stdout protocol documented
clineCline hooks communicate via exit codes and output text; no structured JSON stdin/stdout protocol documented
codexCodex hooks communicate via exit codes and stdout text; no structured JSON stdin/stdout protocol documented
copilot-cliCopilot CLI hooks communicate via exit codes; no JSON stdin/stdout protocol documented
crushnot documented
factory-droidFactory Droid hooks communicate via exit codes; no JSON stdin/stdout protocol documented
kiroKiro hooks communicate via exit codes; no JSON stdin/stdout protocol documented
opencodenot documented
piPi hooks communicate via TypeScript extension API; no JSON stdin/stdout protocol for shell hooks
roo-codenot documented
zednot documented