OpenCode hooks

Guide OpenCode Hooks : 7 vérifications sûres

Quand utiliser les hooks OpenCode, où les placer, comment choisir les événements et comment les tester sans cacher une automatisation risquée.

OpenCode hook lifecycle around a terminal, repository, and event checkpoints
OpenCode hooks should stay tied to a clear lifecycle moment, not become hidden all-purpose automation.

Quick answer

opencode hooks: what to know first

Utilisez les hooks seulement quand le moment d'exécution compte. Ils conviennent aux garde-fous étroits autour d'un outil, pas au remplacement des skills, commands, MCP, permissions ou CI.

Utilisez les hooks seulement quand le moment d'exécution compte. Ils conviennent aux garde-fous étroits autour d'un outil, pas au remplacement des skills, commands, MCP, permissions ou CI.

This page deliberately separates `opencode hooks` from the site's broader OpenCode Plugins guide. The plugins page explains when packaged extensions are worth installing. This page focuses on lifecycle behavior: event choice, scope, placement, examples, failure modes, testing, rollback, and how hooks interact with tools, skills, commands, MCP, and GitHub automation.

Related site guides: OpenCode Plugins, OpenCode Skills, OpenCode MCP, OpenCode session storage.

1. Quand utiliser les hooks

Utilisez les hooks seulement quand le moment d'exécution compte. Ils conviennent aux garde-fous étroits autour d'un outil, pas au remplacement des skills, commands, MCP, permissions ou CI.

Si le besoin ne dépend pas du moment exact, gardez la solution dans une skill, une command, une permission ou MCP. Un hook doit avoir une condition claire et un résultat visible.

2. Où placer les hooks

Utilisez les hooks seulement quand le moment d'exécution compte. Ils conviennent aux garde-fous étroits autour d'un outil, pas au remplacement des skills, commands, MCP, permissions ou CI.

Les règles du dépôt doivent rester près du projet pour être relues par l'équipe. Les préférences personnelles vont dans le global, et les paquets npm demandent une revue de source et de version.

3. Choisir l'événement

Utilisez les hooks seulement quand le moment d'exécution compte. Ils conviennent aux garde-fous étroits autour d'un outil, pas au remplacement des skills, commands, MCP, permissions ou CI.

Écrivez d'abord la phrase de l'événement : avant l'exécution, après l'outil ou après un changement de fichier. Si elle mélange plusieurs actions, divisez le hook.

4. Exemples sûrs et risques

Utilisez les hooks seulement quand le moment d'exécution compte. Ils conviennent aux garde-fous étroits autour d'un outil, pas au remplacement des skills, commands, MCP, permissions ou CI.

Les exemples sûrs avertissent, normalisent ou journalisent très peu d'informations. Évitez commits, pushes, secrets, réseau distant et modifications silencieuses.

5. Tester dans un dépôt jetable

Utilisez les hooks seulement quand le moment d'exécution compte. Ils conviennent aux garde-fous étroits autour d'un outil, pas au remplacement des skills, commands, MCP, permissions ou CI.

Le test doit utiliser un petit dépôt, une commande sans risque, une revue de sortie et un chemin clair pour désactiver le plugin.

Four-step OpenCode hook safety flow from event choice to rollback
A safe hook is narrow, tested in a disposable repository, and easy to disable during troubleshooting.

6. Dépannage par couches

Utilisez les hooks seulement quand le moment d'exécution compte. Ils conviennent aux garde-fous étroits autour d'un outil, pas au remplacement des skills, commands, MCP, permissions ou CI.

Pour diagnostiquer, désactivez une couche à la fois et répétez la même tâche. Vous séparez ainsi cycle de vie, instructions, MCP et fournisseur.

7. Séparer GitHub et CI

Utilisez les hooks seulement quand le moment d'exécution compte. Ils conviennent aux garde-fous étroits autour d'un outil, pas au remplacement des skills, commands, MCP, permissions ou CI.

GitHub et CI doivent rester dans des workflows explicites. Les hooks locaux soutiennent seulement les garde-fous de session.

OpenCode hooks FAQ

Que sont les hooks OpenCode ?

Des callbacks de cycle de vie retournés par des plugins.

Sont-ils identiques aux plugins ?

Non. Le plugin charge et retourne les hooks.

Où les placer ?

Dans le projet pour les règles du dépôt ; globalement pour les préférences personnelles.

Remplacent-ils les permissions ?

Non. Les permissions gèrent les politiques larges.

Comment les tester ?

Dans un dépôt jetable avec une petite tâche et un retour arrière clair.

Sources

Official OpenCode documentation and current SERP evidence were checked on 2026-07-23. Plugin APIs and event names can change, so verify exact code against the current docs before shipping a hook.