diff --git a/webui/src/web-components/sketch-tool-card-done.ts b/webui/src/web-components/sketch-tool-card-done.ts
index 860ef75..05dd061 100644
--- a/webui/src/web-components/sketch-tool-card-done.ts
+++ b/webui/src/web-components/sketch-tool-card-done.ts
@@ -2,7 +2,6 @@
 import { customElement, property } from "lit/decorators.js";
 import { ToolCall } from "../types";
 
-
 @customElement("sketch-tool-card-done")
 export class SketchToolCardDone extends LitElement {
   @property() toolCall: ToolCall;
@@ -14,17 +13,17 @@
       <span slot="summary" class="summary-text"></span>
       <div slot="result">
         ${Object.keys(doneInput.checklist_items).map((key) => {
-      const item = doneInput.checklist_items[key];
-      let statusIcon = "⛔";
-      if (item.status == "yes") {
-        statusIcon = "👍";
-      } else if (item.status == "not applicable") {
-        statusIcon = "🤷‍♂️";
-      }
-      return html`<div>
+          const item = doneInput.checklist_items[key];
+          let statusIcon = "⛔";
+          if (item.status == "yes") {
+            statusIcon = "👍";
+          } else if (item.status == "not applicable") {
+            statusIcon = "🤷‍♂️";
+          }
+          return html`<div>
             <span>${statusIcon}</span> ${key}:${item.status}
           </div>`;
-    })}
+        })}
       </div>
     </sketch-tool-card>`;
   }
diff --git a/webui/src/web-components/sketch-tool-card-generic.ts b/webui/src/web-components/sketch-tool-card-generic.ts
index ab92bc7..12b9689 100644
--- a/webui/src/web-components/sketch-tool-card-generic.ts
+++ b/webui/src/web-components/sketch-tool-card-generic.ts
@@ -2,7 +2,6 @@
 import { customElement, property } from "lit/decorators.js";
 import { ToolCall } from "../types";
 
-
 @customElement("sketch-tool-card-generic")
 export class SketchToolCardGeneric extends LitElement {
   @property() toolCall: ToolCall;
@@ -18,8 +17,8 @@
       <div slot="result">
         Result:
         ${this.toolCall?.result_message?.tool_result
-        ? html`<pre>${this.toolCall?.result_message.tool_result}</pre>`
-        : ""}
+          ? html`<pre>${this.toolCall?.result_message.tool_result}</pre>`
+          : ""}
       </div>
     </sketch-tool-card>`;
   }
diff --git a/webui/src/web-components/sketch-tool-card-patch.ts b/webui/src/web-components/sketch-tool-card-patch.ts
index 6e93ba2..362ed0e 100644
--- a/webui/src/web-components/sketch-tool-card-patch.ts
+++ b/webui/src/web-components/sketch-tool-card-patch.ts
@@ -2,7 +2,6 @@
 import { customElement, property } from "lit/decorators.js";
 import { ToolCall } from "../types";
 
-
 @customElement("sketch-tool-card-patch")
 export class SketchToolCardPatch extends LitElement {
   @property() toolCall: ToolCall;
@@ -28,9 +27,9 @@
       </span>
       <div slot="input">
         ${patchInput.patches.map((patch) => {
-      return html`Patch operation: <b>${patch.operation}</b>
+          return html`Patch operation: <b>${patch.operation}</b>
             <pre>${patch.newText}</pre>`;
-    })}
+        })}
       </div>
       <div slot="result">
         <pre>${this.toolCall?.result_message?.tool_result}</pre>
diff --git a/webui/src/web-components/sketch-tool-card-title.ts b/webui/src/web-components/sketch-tool-card-title.ts
index 50b3380..629ba26 100644
--- a/webui/src/web-components/sketch-tool-card-title.ts
+++ b/webui/src/web-components/sketch-tool-card-title.ts
@@ -2,7 +2,6 @@
 import { customElement, property } from "lit/decorators.js";
 import { ToolCall } from "../types";
 
-
 @customElement("sketch-tool-card-title")
 export class SketchToolCardTitle extends LitElement {
   @property() toolCall: ToolCall;
