diff --git a/apps/canvas/front/src/Agent.tsx b/apps/canvas/front/src/Agent.tsx
index 3718805..974a3f3 100644
--- a/apps/canvas/front/src/Agent.tsx
+++ b/apps/canvas/front/src/Agent.tsx
@@ -2,11 +2,7 @@
 import { AgentAccess } from "config";
 import { useProjectId } from "./lib/state";
 
-export function Agent({ agent }: { agent: AgentAccess }): React.ReactNode {
-	return <AgentIframe agent={agent} />;
-}
-
-export function AgentIframe({ agent }: { agent: AgentAccess }): React.ReactNode {
+export function Agent({ agent, compact }: { agent: AgentAccess; compact?: boolean }): React.ReactNode {
 	const projectId = useProjectId();
 	const [ok, setOk] = useState<boolean>(false);
 	useEffect(() => {
@@ -32,5 +28,6 @@
 	if (!ok) {
 		return <div>Agent {agent.agentName} is loading...</div>;
 	}
-	return <iframe key={agent.name} src={`${agent.address}?m`} title={agent.agentName} className="w-full h-full" />;
+	const address = `${agent.address}${compact ? "/m" : ""}`;
+	return <iframe key={agent.name} src={address} title={agent.agentName} className="w-full h-full" />;
 }
diff --git a/apps/canvas/front/src/App.tsx b/apps/canvas/front/src/App.tsx
index 5f80c95..3f29313 100644
--- a/apps/canvas/front/src/App.tsx
+++ b/apps/canvas/front/src/App.tsx
@@ -11,7 +11,7 @@
 import { useAgents } from "./lib/state";
 import { Bot } from "lucide-react";
 import { Preview } from "./components/preview";
-import { AgentIframe } from "./Agent";
+import { Agent } from "./Agent";
 
 export default function App() {
 	return (
@@ -68,7 +68,7 @@
 			</TabsContent>
 			{agents.map((a) => (
 				<TabsContent value={`agent-${a.agentName}`} className="!mt-0 flex-1 min-h-0">
-					<AgentIframe agent={a} />
+					<Agent agent={a} compact={true} />
 				</TabsContent>
 			))}
 		</Tabs>
diff --git a/apps/canvas/front/src/Build.tsx b/apps/canvas/front/src/Build.tsx
index a3960ba..a3f2bc4 100644
--- a/apps/canvas/front/src/Build.tsx
+++ b/apps/canvas/front/src/Build.tsx
@@ -25,7 +25,7 @@
 			{leadAgent && (
 				<>
 					<ResizablePanel defaultSize={25}>
-						<Agent agent={leadAgent} />
+						<Agent agent={leadAgent} compact={true} />
 					</ResizablePanel>
 					<ResizableHandle withHandle />
 				</>
diff --git a/apps/canvas/front/src/components/preview.tsx b/apps/canvas/front/src/components/preview.tsx
index f5ae9cf..d7881f0 100644
--- a/apps/canvas/front/src/components/preview.tsx
+++ b/apps/canvas/front/src/components/preview.tsx
@@ -15,7 +15,7 @@
 		<ResizablePanelGroup direction="horizontal" className="h-full">
 			<ResizablePanel defaultSize={25}>
 				<div className="p-4 h-full">
-					{leadAgent ? <Agent agent={leadAgent} /> : <div>No agent available</div>}
+					{leadAgent ? <Agent agent={leadAgent} compact={true} /> : <div>No agent available</div>}
 				</div>
 			</ResizablePanel>
 			<ResizableHandle withHandle />
