diff --git a/packages/coding-agent/src/modes/interactive/interactive-mode.ts b/packages/coding-agent/src/modes/interactive/interactive-mode.ts index cc5b9863..2d7207f1 100644 --- a/packages/coding-agent/src/modes/interactive/interactive-mode.ts +++ b/packages/coding-agent/src/modes/interactive/interactive-mode.ts @@ -1609,9 +1609,9 @@ export class InteractiveMode { // Use duck typing since instanceof fails across jiti module boundaries const customEditor = newEditor as unknown as Record; if ("actionHandlers" in customEditor && customEditor.actionHandlers instanceof Map) { - customEditor.onEscape = this.defaultEditor.onEscape; - customEditor.onCtrlD = this.defaultEditor.onCtrlD; - customEditor.onPasteImage = this.defaultEditor.onPasteImage; + customEditor.onEscape = () => this.defaultEditor.onEscape?.(); + customEditor.onCtrlD = () => this.defaultEditor.onCtrlD?.(); + customEditor.onPasteImage = () => this.defaultEditor.onPasteImage?.(); customEditor.onExtensionShortcut = (data: string) => this.defaultEditor.onExtensionShortcut?.(data); // Copy action handlers (clear, suspend, model switching, etc.) for (const [action, handler] of this.defaultEditor.actionHandlers) {