diff --git a/webui/src/web-components/sketch-monaco-view.test.ts b/webui/src/web-components/sketch-monaco-view.test.ts
index 538fbaf..c0d99af 100644
--- a/webui/src/web-components/sketch-monaco-view.test.ts
+++ b/webui/src/web-components/sketch-monaco-view.test.ts
@@ -62,22 +62,24 @@
 });
 
 // Test keyboard shortcut functionality for comment submission
-test("Command+Enter and Ctrl+Enter keyboard shortcuts submit comments", async ({ mount }) => {
+test("Command+Enter and Ctrl+Enter keyboard shortcuts submit comments", async ({
+  mount,
+}) => {
   const component = await mount(CodeDiffEditor, {
     props: {
       originalCode: 'console.log("original");',
       modifiedCode: 'console.log("modified");',
     },
-  });  
+  });
 
   await expect(component).toBeVisible();
 
   // Test that the keyboard shortcut handler exists
   const hasKeyboardHandler = await component.evaluate((node) => {
     const monacoView = node as any;
-    
+
     // Check if the handleCommentKeydown method exists
-    return typeof monacoView.handleCommentKeydown === 'function';
+    return typeof monacoView.handleCommentKeydown === "function";
   });
 
   expect(hasKeyboardHandler).toBe(true);
diff --git a/webui/src/web-components/sketch-monaco-view.ts b/webui/src/web-components/sketch-monaco-view.ts
index b74097a..10995b2 100644
--- a/webui/src/web-components/sketch-monaco-view.ts
+++ b/webui/src/web-components/sketch-monaco-view.ts
@@ -408,7 +408,7 @@
    */
   private handleCommentKeydown(e: KeyboardEvent) {
     // Check for Command+Enter (Mac) or Ctrl+Enter (other platforms)
-    if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {
+    if (e.key === "Enter" && (e.metaKey || e.ctrlKey)) {
       e.preventDefault();
       this.submitComment();
     }
