diff --git a/apps/canvas/front/src/Tootls.tsx b/apps/canvas/front/src/Tootls.tsx
index 77b6fdb..2cf5d58 100644
--- a/apps/canvas/front/src/Tootls.tsx
+++ b/apps/canvas/front/src/Tootls.tsx
@@ -5,27 +5,25 @@
 import { Messages } from "./Messages";
 
 export function Tools() {
-  const messages = useMessages();
-  const env = useEnv();
-  return (
-    <Tabs defaultValue="messages" className="w-[400px] px-5 w-full h-full">
-      <TabsList>
-        <TabsTrigger value="messages" className="space-x-2">
-          <div>Messages</div>
-          <Badge>{messages.length}</Badge>
-        </TabsTrigger>
-        <TabsTrigger value="deployment">Deployment</TabsTrigger>
-        <TabsTrigger value="deployKeys">Deploy keys</TabsTrigger>
-      </TabsList>
-      <TabsContent value="messages">
-        <Messages />
-      </TabsContent>
-      <TabsContent value="deployment">
-        <Deployment />
-      </TabsContent>
-      <TabsContent value="deployKeys">
-        {env && (<>{env.deployKey}</>)}
-      </TabsContent>
-    </Tabs>
-  );
-}
\ No newline at end of file
+	const messages = useMessages();
+	const env = useEnv();
+	return (
+		<Tabs defaultValue="messages" className="w-[400px] px-5 w-full h-full">
+			<TabsList>
+				<TabsTrigger value="messages" className="space-x-2">
+					<div>Messages</div>
+					<Badge>{messages.length}</Badge>
+				</TabsTrigger>
+				<TabsTrigger value="deployment">Deployment</TabsTrigger>
+				<TabsTrigger value="deployKeys">Deploy keys</TabsTrigger>
+			</TabsList>
+			<TabsContent value="messages">
+				<Messages />
+			</TabsContent>
+			<TabsContent value="deployment">
+				<Deployment />
+			</TabsContent>
+			<TabsContent value="deployKeys">{env && <>{env.deployKey}</>}</TabsContent>
+		</Tabs>
+	);
+}
