# Validation: System Engine Hooks The original note is partly correct, but materially misleading. ## What is correct - Claude Code supports `.claude/settings.json` hooks, including `UserPromptSubmit`, which fires after a user submits a prompt and before Claude processes it. - Claude Code command hook stdout can add context, and structured JSON output can block or add context. - GitHub Copilot supports `.github/copilot-instructions.md` as repository custom instructions. - Cursor supports persistent rules/instructions, but current official docs center on `.cursor/rules/*.mdc`, User Rules, Team Rules, and `AGENTS.md`, not `.cursorrules`. ## What is incorrect or overstated - `.cursorrules` and `.github/copilot-instructions.md` are not hooks. They are instruction/context files. They do not intercept lifecycle events or execute commands. - The phrase "Codex / Cursor / Copilot Prompt Hook" is incorrect for Codex. Codex does not use `.cursorrules` or `.github/copilot-instructions.md` as its hook system. - Codex lifecycle hooks belong in `.codex/hooks.json` or inline `[hooks]` tables in `.codex/config.toml`. - Codex persistent repo guidance belongs in `AGENTS.md`. - "Injects directly into the active system context window on every message turn" is too strong. These files may be added as context or instructions, but not necessarily as system-level instructions, and behavior depends on product, mode, trust/settings, and feature support. - The Claude example may inject text, but it does not guarantee enforcement. It remains subordinate to real system/developer/runtime instructions and product policy. - "Hardwired into the runtime lifecycle" is defensible for actual lifecycle hook systems like Claude Code hooks and Codex hooks, but not for Cursor or Copilot instruction files. ## Suggested correction Rename section B to: ```markdown ### B. Persistent Instruction Files, Not Hooks Cursor and GitHub Copilot can load repository instruction files as persistent guidance, but these files are not executable lifecycle hooks and should not be described as intercepting every message or modifying the system prompt. - Cursor: prefer `.cursor/rules/*.mdc` or `AGENTS.md`. - GitHub Copilot: use `.github/copilot-instructions.md`, `.github/instructions/*.instructions.md`, or `AGENTS.md` where supported. - Codex: use `AGENTS.md` for durable guidance; use `.codex/hooks.json` or `.codex/config.toml` for lifecycle hooks. ``` ## Bottom line The Claude section is directionally valid but should be more precise. The combined "Codex / Cursor / Copilot Prompt Hook" section is not correct as written.