IDE hooks
Symptom
Pipeline write or shell gates never fire, or every tool is denied because an external tool-gate environment is missing.
Cause
- Cursor project hooks load from the workspace root.
- Some agent portals inject session environment variables. Pipeline hooks should allow immediately in that case so they do not fight the portal’s HITL gate.
failClosedis off by default: a crashed hook must not freeze the IDE.
Do not
- Duplicate HITL policy in pipeline hooks while an external portal owns the session
- Use Cursor
type: prompthooks for portable policy (they do not travel to other IDEs) - Set
failClosed: trueunless you intend a hard freeze on hook bugs
The installer does not copy policy hooks. Observability hooks are opt-in via obs install and merge without replacing existing entries.