diff --git a/webui/src/web-components/aggregateAgentMessages.ts b/webui/src/web-components/aggregateAgentMessages.ts
index 366b690..5347540 100644
--- a/webui/src/web-components/aggregateAgentMessages.ts
+++ b/webui/src/web-components/aggregateAgentMessages.ts
@@ -14,6 +14,10 @@
         toolCallResults.set(msg.tool_call_id, msg);
         return false;
       }
+      // Suppress internal message types that shouldn't be displayed
+      if (msg.type == "slug" || msg.type == "compact") {
+        return false;
+      }
       if (seenIds.has(msg.idx)) {
         return false; // Skip if idx is already seen
       }
diff --git a/webui/src/web-components/mobile-chat.ts b/webui/src/web-components/mobile-chat.ts
index 9ce01fe..0c3bc48 100644
--- a/webui/src/web-components/mobile-chat.ts
+++ b/webui/src/web-components/mobile-chat.ts
@@ -272,9 +272,6 @@
         case "todo_read":
           return "Read todo list";
 
-        case "set-slug":
-          return `Slug: "${input.slug || ""}"`;
-
         case "multiplechoice":
           const question = input.question || "Multiple choice question";
           const options = input.responseOptions || [];
diff --git a/webui/src/web-components/sketch-tool-calls.ts b/webui/src/web-components/sketch-tool-calls.ts
index d1b2018..826052d 100644
--- a/webui/src/web-components/sketch-tool-calls.ts
+++ b/webui/src/web-components/sketch-tool-calls.ts
@@ -68,11 +68,6 @@
           .open=${open}
           .toolCall=${toolCall}
         ></sketch-tool-card-think>`;
-      case "set-slug":
-        return html`<sketch-tool-card-set-slug
-          .open=${open}
-          .toolCall=${toolCall}
-        ></sketch-tool-card-set-slug>`;
       case "commit-message-style":
         return html`<sketch-tool-card-commit-message-style
           .open=${open}
diff --git a/webui/src/web-components/sketch-tool-card.ts b/webui/src/web-components/sketch-tool-card.ts
index 5954e24..5c5e4c2 100644
--- a/webui/src/web-components/sketch-tool-card.ts
+++ b/webui/src/web-components/sketch-tool-card.ts
@@ -268,29 +268,6 @@
   }
 }
 
-@customElement("sketch-tool-card-set-slug")
-export class SketchToolCardSetSlug extends SketchTailwindElement {
-  @property() toolCall: ToolCall;
-  @property() open: boolean;
-
-  render() {
-    const inputData = JSON.parse(this.toolCall?.input || "{}");
-
-    const summaryContent = html`<span class="italic">
-      Slug: "${inputData.slug}"
-    </span>`;
-
-    const inputContent = html`<div>Set slug to: <b>${inputData.slug}</b></div>`;
-
-    return html`<sketch-tool-card-base
-      .open=${this.open}
-      .toolCall=${this.toolCall}
-      .summaryContent=${summaryContent}
-      .inputContent=${inputContent}
-    ></sketch-tool-card-base>`;
-  }
-}
-
 @customElement("sketch-tool-card-commit-message-style")
 export class SketchToolCardCommitMessageStyle extends SketchTailwindElement {
   @property()
@@ -567,7 +544,6 @@
     "sketch-tool-card-done": SketchToolCardDone;
     "sketch-tool-card-patch": SketchToolCardPatch;
     "sketch-tool-card-think": SketchToolCardThink;
-    "sketch-tool-card-set-slug": SketchToolCardSetSlug;
     "sketch-tool-card-commit-message-style": SketchToolCardCommitMessageStyle;
     "sketch-tool-card-multiple-choice": SketchToolCardMultipleChoice;
     "sketch-tool-card-todo-write": SketchToolCardTodoWrite;
