Merged
Conversation
…292763) * Restructure hook execution to always go through the renderer process Add output channel * cleanup * Fixes
* preToolUse hook supporting "deny" * Fix tests * Simplify tests * Fix test
* Add common output hook types, reorganize a bit more * test fixes
* Make explicit chat hook "internal" vs "external" types * Renames * Avoid types re-export * Move to hooks/ * This
* Flesh out preToolUse hook * Cleanup * cleanups * Cleanup
* Add onDidExecuteHook event to HooksExecutionService * Fix MockHooksExecutionService to include onDidExecuteHook event * Extend Disposable instead of using DisposableStore * Fire onDidExecuteHook event even when no hooks are registered * Fixes
* Improve tests * Handle multiple post/preToolUse hooks more correctly
* hooks streaming first pass * Update src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * update styling * modify api shape * address some comments + do not render for now * new icons + no more continue * make sure we render right, some comments addressed * uncomment that stuffs --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Support PreCompact hook * add this
* Add /hooks slash command * await * Build fix
* update * updates * Update src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * update handling * PR * test * fix test * cleanup * nit * cleanup * clean --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Move PreToolUse to extension * Migrate PostToolUse
* Refactor hook execution * Fix compilation: add IExtHostHooks import, remove unused IHookResult, inline ChatRequestHooks type * Move hooks property to chatHooks proposal, sync DTS * cleanup * Remove dead hook execution code: proxy, RPC, output channel, progress events All hook execution now happens in the extension via NodeHookExecutor. HooksExecutionService is now a pure registry (registerHooks/getHooksForSession). Removed: - executeHook, setProxy, onDidHookProgress from service - IHooksExecutionProxy, IHookProgressEvent, HookAbortError, formatHookErrorMessage - hooksCommandTypes.ts, hooksTypes.ts (dead type files) - mainThreadHooks proxy setup - extHostHooksNode., extHostHooksWorker. - ExtHostHooksShape. protocol - IExtHostHooks DI registrations - ChatHooksProgressContribution - All associated test files * Remove HooksExecutionService entirely The service was only a registry for session hooks, but hooks are already passed directly on the chat request DTO. The registerHooks/getHooksForSession pattern was redundant. * Restore modelName support in chatSubagentContentPart that was accidentally removed during merge * Revert unrelated tabIndex change on chatSubagentContentPart * Remove empty hooks ext host infrastructure Delete IExtHostHooks, NodeExtHostHooks, WorkerExtHostHooks, MainThreadHooks, ExtHostHooksShape, MainThreadHooksShape - all were empty stubs after hook execution moved to extension. * Remove mainThreadHooks import from extensionHost.contribution * Fix DTS comments: env and timeoutSec are values, not implementation promises
* fix for moving hooks to extension * fix hygiene * address comments
sbatten
approved these changes
Feb 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See microsoft/vscode-copilot-chat#3625