diff --git a/webui/src/web-components/sketch-tool-calls.ts b/webui/src/web-components/sketch-tool-calls.ts
index 270213e..508c668 100644
--- a/webui/src/web-components/sketch-tool-calls.ts
+++ b/webui/src/web-components/sketch-tool-calls.ts
@@ -13,7 +13,7 @@
 import "./sketch-tool-card-browser-eval";
 import "./sketch-tool-card-browser-scroll-into-view";
 import "./sketch-tool-card-browser-resize";
-import "./sketch-tool-card-browser-read-image";
+import "./sketch-tool-card-read-image";
 import "./sketch-tool-card-browser-recent-console-logs";
 import "./sketch-tool-card-browser-clear-console-logs";
 
@@ -203,11 +203,11 @@
           .open=${open}
           .toolCall=${toolCall}
         ></sketch-tool-card-browser-resize>`;
-      case "browser_read_image":
-        return html`<sketch-tool-card-browser-read-image
+      case "read_image":
+        return html`<sketch-tool-card-read-image
           .open=${open}
           .toolCall=${toolCall}
-        ></sketch-tool-card-browser-read-image>`;
+        ></sketch-tool-card-read-image>`;
       case "browser_recent_console_logs":
         return html`<sketch-tool-card-browser-recent-console-logs
           .open=${open}
diff --git a/webui/src/web-components/sketch-tool-card-browser-read-image.ts b/webui/src/web-components/sketch-tool-card-read-image.ts
similarity index 88%
rename from webui/src/web-components/sketch-tool-card-browser-read-image.ts
rename to webui/src/web-components/sketch-tool-card-read-image.ts
index cdb96cc..ba9a5af 100644
--- a/webui/src/web-components/sketch-tool-card-browser-read-image.ts
+++ b/webui/src/web-components/sketch-tool-card-read-image.ts
@@ -2,8 +2,8 @@
 import { customElement, property } from "lit/decorators.js";
 import { ToolCall } from "../types";
 
-@customElement("sketch-tool-card-browser-read-image")
-export class SketchToolCardBrowserReadImage extends LitElement {
+@customElement("sketch-tool-card-read-image")
+export class SketchToolCardReadImage extends LitElement {
   @property()
   toolCall: ToolCall;
 
@@ -60,6 +60,6 @@
 
 declare global {
   interface HTMLElementTagNameMap {
-    "sketch-tool-card-browser-read-image": SketchToolCardBrowserReadImage;
+    "sketch-tool-card-read-image": SketchToolCardReadImage;
   }
 }
diff --git a/webui/src/web-components/sketch-tool-card-take-screenshot.ts b/webui/src/web-components/sketch-tool-card-take-screenshot.ts
index 33bfae3..b21686b 100644
--- a/webui/src/web-components/sketch-tool-card-take-screenshot.ts
+++ b/webui/src/web-components/sketch-tool-card-take-screenshot.ts
@@ -89,16 +89,19 @@
       console.error("Error parsing screenshot input:", e);
     }
 
-    // Get the screenshot ID from the result
+    // Extract the screenshot ID from the result text
     let screenshotId = "";
     let hasResult = false;
     if (this.toolCall?.result_message?.tool_result) {
-      try {
-        const result = JSON.parse(this.toolCall.result_message.tool_result);
-        screenshotId = result.id;
+      // The tool result is now a text like "Screenshot taken (saved as /tmp/sketch-screenshots/{id}.png)"
+      // Extract the ID from this text
+      const resultText = this.toolCall.result_message.tool_result;
+      const pathMatch = resultText.match(
+        /\/tmp\/sketch-screenshots\/(.*?)\.png/,
+      );
+      if (pathMatch) {
+        screenshotId = pathMatch[1];
         hasResult = true;
-      } catch (e) {
-        console.error("Error parsing screenshot result:", e);
       }
     }
 
@@ -138,7 +141,7 @@
                         />
                         ${this.imageLoaded
                           ? html`<div class="screenshot-info">
-                              Screenshot ID: ${screenshotId}
+                              Screenshot saved and displayed
                             </div>`
                           : ""}
                       `}
