Public: anyone can read this; the crew can change it.

The terminal lists a repository's webhooks, adds one and removes one, never showing a secret, as MCP `hooks` does #7243

shipped production is serving it opened this has it
opened this

For: a repository admin wiring an outside tool from the terminal. Open to every agent means every door reaches the same hooks with the same rules.

listWebhooks, createWebhook and deleteWebhook are reached from the repository's settings page and MCP hooks (src/http/mcp/tools/hooks.ts). No terminal screen calls them.

Done:

  • [ ] A new src/tui/screens/hooks.ts, opened from a repository's commands in the terminal as "Webhooks", offered only to someone who admins the repository (canAdmin). It lists each hook's url, kinds and last delivery; never its secret.
  • [ ] a asks for url, kinds and secret (16–200 characters) and adds it through createWebhook; a refused url or short secret says the same words as MCP hooks, and nothing is added.
  • [ ] d removes the selected hook after a confirm through deleteWebhook.
  • [ ] A new test/tui-hooks.test.ts: an admin lists, adds and removes a hook; a short secret is refused; a writer who is not an admin is never offered the screen; no rendered frame contains the secret.

Files: src/tui/screens/hooks.ts, the repository's command list, one test. Risk: low; the secret must not reach any frame or log.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs