diff --git a/src/Config.zig b/src/Config.zig
index d74580a1..c4246f8d 100644
--- a/src/Config.zig
+++ b/src/Config.zig
@@ -24,7 +24,6 @@ const builtin = @import("builtin");
const cli = @import("cli.zig");
const dump = @import("browser/dump.zig");
-const mcp = @import("mcp.zig");
const Storage = @import("storage/Storage.zig");
const WebBotAuthConfig = @import("network/WebBotAuth.zig").Config;
diff --git a/src/browser/HttpClient.zig b/src/browser/HttpClient.zig
index 6eb3611e..488bf036 100644
--- a/src/browser/HttpClient.zig
+++ b/src/browser/HttpClient.zig
@@ -28,7 +28,6 @@ const URL = @import("URL.zig");
const CookieJar = @import("webapi/storage/Cookie.zig").Jar;
const http = @import("../network/http.zig");
-const Robots = @import("../network/Robots.zig");
const Network = @import("../network/Network.zig");
const CDP = @import("../cdp/CDP.zig");
@@ -41,9 +40,7 @@ pub const WebBotAuthLayer = @import("../network/layer/WebBotAuthLayer.zig");
pub const InterceptionLayer = @import("../network/layer/InterceptionLayer.zig");
const log = lp.log;
-const posix = std.posix;
const Allocator = std.mem.Allocator;
-const ArenaAllocator = std.heap.ArenaAllocator;
const IS_DEBUG = builtin.mode == .Debug;
pub const Method = http.Method;
diff --git a/src/browser/Page.zig b/src/browser/Page.zig
index 5292355f..f9d63947 100644
--- a/src/browser/Page.zig
+++ b/src/browser/Page.zig
@@ -17,11 +17,8 @@
// along with this program. If not, see .
const std = @import("std");
-const lp = @import("lightpanda");
const builtin = @import("builtin");
-const App = @import("../App.zig");
-
const js = @import("js/js.zig");
const v8 = js.v8;
@@ -29,7 +26,6 @@ const Frame = @import("Frame.zig");
const Session = @import("Session.zig");
const Factory = @import("Factory.zig");
-const log = lp.log;
const Allocator = std.mem.Allocator;
const IS_DEBUG = builtin.mode == .Debug;
diff --git a/src/browser/ScriptManager.zig b/src/browser/ScriptManager.zig
index 6d5d5dfd..38188608 100644
--- a/src/browser/ScriptManager.zig
+++ b/src/browser/ScriptManager.zig
@@ -25,7 +25,6 @@ const HttpClient = @import("HttpClient.zig");
const js = @import("js/js.zig");
const URL = @import("URL.zig");
const Frame = @import("Frame.zig");
-const ImportMap = @import("ImportMap.zig");
const ScriptManagerBase = @import("ScriptManagerBase.zig");
const Element = @import("webapi/Element.zig");
diff --git a/src/browser/ScriptManagerBase.zig b/src/browser/ScriptManagerBase.zig
index 2bb2daec..41e3409a 100644
--- a/src/browser/ScriptManagerBase.zig
+++ b/src/browser/ScriptManagerBase.zig
@@ -24,7 +24,6 @@ const HttpClient = @import("HttpClient.zig");
const http = @import("../network/http.zig");
const js = @import("js/js.zig");
-const URL = @import("URL.zig");
const Session = @import("Session.zig");
const Frame = @import("Frame.zig");
const ImportMap = @import("ImportMap.zig");
diff --git a/src/browser/Session.zig b/src/browser/Session.zig
index 10d85f83..6ae43054 100644
--- a/src/browser/Session.zig
+++ b/src/browser/Session.zig
@@ -23,7 +23,6 @@ const builtin = @import("builtin");
const App = @import("../App.zig");
const js = @import("js/js.zig");
-const v8 = js.v8;
const storage = @import("webapi/storage/storage.zig");
const Navigation = @import("webapi/navigation/Navigation.zig");
const History = @import("webapi/History.zig");
diff --git a/src/browser/js/Array.zig b/src/browser/js/Array.zig
index 69137f0e..a84bed07 100644
--- a/src/browser/js/Array.zig
+++ b/src/browser/js/Array.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("js.zig");
const v8 = js.v8;
diff --git a/src/browser/js/Context.zig b/src/browser/js/Context.zig
index a3cc9e19..6d7d26f9 100644
--- a/src/browser/js/Context.zig
+++ b/src/browser/js/Context.zig
@@ -27,7 +27,6 @@ const Execution = @import("Execution.zig");
const Frame = @import("../Frame.zig");
const Page = @import("../Page.zig");
-const Session = @import("../Session.zig");
const ScriptManagerBase = @import("../ScriptManagerBase.zig");
const WorkerGlobalScope = @import("../webapi/WorkerGlobalScope.zig");
diff --git a/src/browser/js/Integer.zig b/src/browser/js/Integer.zig
index e0383fbf..645a02be 100644
--- a/src/browser/js/Integer.zig
+++ b/src/browser/js/Integer.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("js.zig");
const v8 = js.v8;
diff --git a/src/browser/js/Number.zig b/src/browser/js/Number.zig
index 1676632b..33241c2b 100644
--- a/src/browser/js/Number.zig
+++ b/src/browser/js/Number.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("js.zig");
const v8 = js.v8;
diff --git a/src/browser/js/RegExp.zig b/src/browser/js/RegExp.zig
index b341a944..80779259 100644
--- a/src/browser/js/RegExp.zig
+++ b/src/browser/js/RegExp.zig
@@ -16,8 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
-
const js = @import("js.zig");
const v8 = js.v8;
diff --git a/src/browser/js/bridge.zig b/src/browser/js/bridge.zig
index 73c2a821..2335d89a 100644
--- a/src/browser/js/bridge.zig
+++ b/src/browser/js/bridge.zig
@@ -26,7 +26,6 @@ const Caller = @import("Caller.zig");
const Context = @import("Context.zig");
const v8 = js.v8;
-const Allocator = std.mem.Allocator;
const IS_DEBUG = @import("builtin").mode == .Debug;
pub fn Builder(comptime T: type) type {
diff --git a/src/browser/webapi/AbortController.zig b/src/browser/webapi/AbortController.zig
index 0c751497..6e0b6225 100644
--- a/src/browser/webapi/AbortController.zig
+++ b/src/browser/webapi/AbortController.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("../js/js.zig");
const AbortSignal = @import("AbortSignal.zig");
diff --git a/src/browser/webapi/Console.zig b/src/browser/webapi/Console.zig
index b4cc75f2..eea5e700 100644
--- a/src/browser/webapi/Console.zig
+++ b/src/browser/webapi/Console.zig
@@ -24,7 +24,6 @@ const Notification = @import("../../Notification.zig");
const datetime = @import("../../datetime.zig");
const logger = lp.log;
-const LogLevel = lp.log.Level;
const Console = @This();
diff --git a/src/browser/webapi/CryptoKey.zig b/src/browser/webapi/CryptoKey.zig
index d9b014cb..664d23d0 100644
--- a/src/browser/webapi/CryptoKey.zig
+++ b/src/browser/webapi/CryptoKey.zig
@@ -16,8 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
-
const crypto = @import("../../sys/libcrypto.zig");
const js = @import("../js/js.zig");
diff --git a/src/browser/webapi/DOMImplementation.zig b/src/browser/webapi/DOMImplementation.zig
index 280db6a8..c8197dc6 100644
--- a/src/browser/webapi/DOMImplementation.zig
+++ b/src/browser/webapi/DOMImplementation.zig
@@ -16,8 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
-
const js = @import("../js/js.zig");
const Frame = @import("../Frame.zig");
const Node = @import("Node.zig");
diff --git a/src/browser/webapi/DOMNodeIterator.zig b/src/browser/webapi/DOMNodeIterator.zig
index 98968733..adc59633 100644
--- a/src/browser/webapi/DOMNodeIterator.zig
+++ b/src/browser/webapi/DOMNodeIterator.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("../js/js.zig");
const Frame = @import("../Frame.zig");
diff --git a/src/browser/webapi/DOMRect.zig b/src/browser/webapi/DOMRect.zig
index 144d0631..e3b2502c 100644
--- a/src/browser/webapi/DOMRect.zig
+++ b/src/browser/webapi/DOMRect.zig
@@ -18,7 +18,6 @@
const DOMRect = @This();
-const std = @import("std");
const js = @import("../js/js.zig");
const Frame = @import("../Frame.zig");
diff --git a/src/browser/webapi/DOMTreeWalker.zig b/src/browser/webapi/DOMTreeWalker.zig
index d1aacdad..7fd4b850 100644
--- a/src/browser/webapi/DOMTreeWalker.zig
+++ b/src/browser/webapi/DOMTreeWalker.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("../js/js.zig");
const Frame = @import("../Frame.zig");
diff --git a/src/browser/webapi/File.zig b/src/browser/webapi/File.zig
index 43a28933..ba493b6c 100644
--- a/src/browser/webapi/File.zig
+++ b/src/browser/webapi/File.zig
@@ -17,7 +17,6 @@
// along with this program. If not, see .
const std = @import("std");
-const lp = @import("lightpanda");
const js = @import("../js/js.zig");
const Page = @import("../Page.zig");
diff --git a/src/browser/webapi/FileReader.zig b/src/browser/webapi/FileReader.zig
index 9924f4ac..d783bd60 100644
--- a/src/browser/webapi/FileReader.zig
+++ b/src/browser/webapi/FileReader.zig
@@ -22,7 +22,6 @@ const lp = @import("lightpanda");
const js = @import("../js/js.zig");
const Page = @import("../Page.zig");
-const Frame = @import("../Frame.zig");
const EventTarget = @import("EventTarget.zig");
const ProgressEvent = @import("event/ProgressEvent.zig");
const Blob = @import("Blob.zig");
diff --git a/src/browser/webapi/IdleDeadline.zig b/src/browser/webapi/IdleDeadline.zig
index b193f561..6796c200 100644
--- a/src/browser/webapi/IdleDeadline.zig
+++ b/src/browser/webapi/IdleDeadline.zig
@@ -16,8 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
-
const IdleDeadline = @This();
// Padding to avoid zero-size struct, which causes identity_map pointer collisions.
diff --git a/src/browser/webapi/MessagePort.zig b/src/browser/webapi/MessagePort.zig
index 42831378..1fa57a1b 100644
--- a/src/browser/webapi/MessagePort.zig
+++ b/src/browser/webapi/MessagePort.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const lp = @import("lightpanda");
const js = @import("../js/js.zig");
diff --git a/src/browser/webapi/Navigator.zig b/src/browser/webapi/Navigator.zig
index e1e56eb5..a895a8f6 100644
--- a/src/browser/webapi/Navigator.zig
+++ b/src/browser/webapi/Navigator.zig
@@ -17,7 +17,6 @@
// along with this program. If not, see .
const std = @import("std");
-const lp = @import("lightpanda");
const builtin = @import("builtin");
const js = @import("../js/js.zig");
@@ -29,8 +28,6 @@ const StorageManager = @import("StorageManager.zig");
const NavigatorUAData = @import("NavigatorUAData.zig");
const ModelContext = @import("ModelContext.zig");
-const log = lp.log;
-
const Navigator = @This();
_pad: bool = false,
_plugins: PluginArray = .{},
diff --git a/src/browser/webapi/NavigatorUAData.zig b/src/browser/webapi/NavigatorUAData.zig
index 765564ff..308295e5 100644
--- a/src/browser/webapi/NavigatorUAData.zig
+++ b/src/browser/webapi/NavigatorUAData.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const builtin = @import("builtin");
const Config = @import("../../Config.zig");
diff --git a/src/browser/webapi/NodeFilter.zig b/src/browser/webapi/NodeFilter.zig
index acd0da58..bd485ec8 100644
--- a/src/browser/webapi/NodeFilter.zig
+++ b/src/browser/webapi/NodeFilter.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("../js/js.zig");
const Node = @import("Node.zig");
diff --git a/src/browser/webapi/ResizeObserver.zig b/src/browser/webapi/ResizeObserver.zig
index 5cea5d97..184fc3c6 100644
--- a/src/browser/webapi/ResizeObserver.zig
+++ b/src/browser/webapi/ResizeObserver.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("../js/js.zig");
const Element = @import("Element.zig");
diff --git a/src/browser/webapi/WebDriver.zig b/src/browser/webapi/WebDriver.zig
index e21514d6..aa91cc70 100644
--- a/src/browser/webapi/WebDriver.zig
+++ b/src/browser/webapi/WebDriver.zig
@@ -16,8 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
-
const js = @import("../js/js.zig");
const Page = @import("../Page.zig");
const Frame = @import("../Frame.zig");
diff --git a/src/browser/webapi/Worker.zig b/src/browser/webapi/Worker.zig
index be698018..f0fe64c2 100644
--- a/src/browser/webapi/Worker.zig
+++ b/src/browser/webapi/Worker.zig
@@ -31,7 +31,6 @@ const ErrorEvent = @import("event/ErrorEvent.zig");
const WorkerGlobalScope = @import("WorkerGlobalScope.zig");
const log = lp.log;
-const Execution = js.Execution;
const Allocator = std.mem.Allocator;
const IS_DEBUG = @import("builtin").mode == .Debug;
diff --git a/src/browser/webapi/XPathEvaluator.zig b/src/browser/webapi/XPathEvaluator.zig
index 7cae18b9..e2dc63f9 100644
--- a/src/browser/webapi/XPathEvaluator.zig
+++ b/src/browser/webapi/XPathEvaluator.zig
@@ -22,8 +22,6 @@
//! `new XPathEvaluator()` instance can be used in place of the
//! document.
-const std = @import("std");
-
const js = @import("../js/js.zig");
const Frame = @import("../Frame.zig");
diff --git a/src/browser/webapi/collections/ChildNodes.zig b/src/browser/webapi/collections/ChildNodes.zig
index 77cabaa5..115b8829 100644
--- a/src/browser/webapi/collections/ChildNodes.zig
+++ b/src/browser/webapi/collections/ChildNodes.zig
@@ -18,7 +18,6 @@
const std = @import("std");
-const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
const Frame = @import("../../Frame.zig");
diff --git a/src/browser/webapi/collections/HTMLCollection.zig b/src/browser/webapi/collections/HTMLCollection.zig
index 0267b8a4..fc534bed 100644
--- a/src/browser/webapi/collections/HTMLCollection.zig
+++ b/src/browser/webapi/collections/HTMLCollection.zig
@@ -16,8 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
-
const js = @import("../../js/js.zig");
const Frame = @import("../../Frame.zig");
const Element = @import("../Element.zig");
diff --git a/src/browser/webapi/collections/HTMLOptionsCollection.zig b/src/browser/webapi/collections/HTMLOptionsCollection.zig
index 518e9d42..ca58d786 100644
--- a/src/browser/webapi/collections/HTMLOptionsCollection.zig
+++ b/src/browser/webapi/collections/HTMLOptionsCollection.zig
@@ -16,8 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
-
const js = @import("../../js/js.zig");
const Frame = @import("../../Frame.zig");
const Node = @import("../Node.zig");
diff --git a/src/browser/webapi/collections/NodeList.zig b/src/browser/webapi/collections/NodeList.zig
index 38d0525f..17610d28 100644
--- a/src/browser/webapi/collections/NodeList.zig
+++ b/src/browser/webapi/collections/NodeList.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
diff --git a/src/browser/webapi/css/MediaQueryList.zig b/src/browser/webapi/css/MediaQueryList.zig
index f96724aa..e2938ace 100644
--- a/src/browser/webapi/css/MediaQueryList.zig
+++ b/src/browser/webapi/css/MediaQueryList.zig
@@ -17,7 +17,6 @@
// along with this program. If not, see .
// zlint-disable unused-decls
-const std = @import("std");
const js = @import("../../js/js.zig");
const EventTarget = @import("../EventTarget.zig");
const MediaQuery = @import("../../css/MediaQuery.zig");
diff --git a/src/browser/webapi/element/html/Custom.zig b/src/browser/webapi/element/html/Custom.zig
index 26b9e640..1e913077 100644
--- a/src/browser/webapi/element/html/Custom.zig
+++ b/src/browser/webapi/element/html/Custom.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const lp = @import("lightpanda");
const js = @import("../../../js/js.zig");
diff --git a/src/browser/webapi/event/CompositionEvent.zig b/src/browser/webapi/event/CompositionEvent.zig
index 3d25a156..fb3b4fd4 100644
--- a/src/browser/webapi/event/CompositionEvent.zig
+++ b/src/browser/webapi/event/CompositionEvent.zig
@@ -15,7 +15,6 @@
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
diff --git a/src/browser/webapi/event/CookieChangeEvent.zig b/src/browser/webapi/event/CookieChangeEvent.zig
index 9a194e67..ab51cc8f 100644
--- a/src/browser/webapi/event/CookieChangeEvent.zig
+++ b/src/browser/webapi/event/CookieChangeEvent.zig
@@ -16,18 +16,15 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Notification = @import("../../../Notification.zig");
const Event = @import("../Event.zig");
-const Cookie = @import("../storage/Cookie.zig");
const CookieStore = @import("../storage/CookieStore.zig");
const String = lp.String;
-const Allocator = std.mem.Allocator;
const Execution = js.Execution;
// https://developer.mozilla.org/en-US/docs/Web/API/CookieChangeEvent
diff --git a/src/browser/webapi/event/CustomEvent.zig b/src/browser/webapi/event/CustomEvent.zig
index 859349be..02c9b8a0 100644
--- a/src/browser/webapi/event/CustomEvent.zig
+++ b/src/browser/webapi/event/CustomEvent.zig
@@ -21,7 +21,6 @@ const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const Page = @import("../../Page.zig");
-const Frame = @import("../../Frame.zig");
const Event = @import("../Event.zig");
diff --git a/src/browser/webapi/event/PromiseRejectionEvent.zig b/src/browser/webapi/event/PromiseRejectionEvent.zig
index 0ef2aeb4..20ebb0a7 100644
--- a/src/browser/webapi/event/PromiseRejectionEvent.zig
+++ b/src/browser/webapi/event/PromiseRejectionEvent.zig
@@ -15,7 +15,6 @@
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
diff --git a/src/browser/webapi/event/TextEvent.zig b/src/browser/webapi/event/TextEvent.zig
index 7662320f..8a5e238f 100644
--- a/src/browser/webapi/event/TextEvent.zig
+++ b/src/browser/webapi/event/TextEvent.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
diff --git a/src/browser/webapi/media/TextTrackCue.zig b/src/browser/webapi/media/TextTrackCue.zig
index 04ced1ec..50421d28 100644
--- a/src/browser/webapi/media/TextTrackCue.zig
+++ b/src/browser/webapi/media/TextTrackCue.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("../../js/js.zig");
const Frame = @import("../../Frame.zig");
diff --git a/src/browser/webapi/media/VTTCue.zig b/src/browser/webapi/media/VTTCue.zig
index 6f5d69a9..d3324504 100644
--- a/src/browser/webapi/media/VTTCue.zig
+++ b/src/browser/webapi/media/VTTCue.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("../../js/js.zig");
const Frame = @import("../../Frame.zig");
diff --git a/src/browser/webapi/navigation/NavigationActivation.zig b/src/browser/webapi/navigation/NavigationActivation.zig
index 3c161f9b..b4bb1ccd 100644
--- a/src/browser/webapi/navigation/NavigationActivation.zig
+++ b/src/browser/webapi/navigation/NavigationActivation.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("../../js/js.zig");
const NavigationType = @import("root.zig").NavigationType;
diff --git a/src/browser/webapi/net/Fetch.zig b/src/browser/webapi/net/Fetch.zig
index 74b3351c..2eac9ef7 100644
--- a/src/browser/webapi/net/Fetch.zig
+++ b/src/browser/webapi/net/Fetch.zig
@@ -21,7 +21,6 @@ const lp = @import("lightpanda");
const HttpClient = @import("../../HttpClient.zig");
const js = @import("../../js/js.zig");
-const Page = @import("../../Page.zig");
const URL = @import("../../URL.zig");
const Request = @import("Request.zig");
diff --git a/src/browser/webapi/net/XMLHttpRequest.zig b/src/browser/webapi/net/XMLHttpRequest.zig
index 9dd5de4b..1cfb4446 100644
--- a/src/browser/webapi/net/XMLHttpRequest.zig
+++ b/src/browser/webapi/net/XMLHttpRequest.zig
@@ -32,7 +32,6 @@ const Event = @import("../Event.zig");
const EventTarget = @import("../EventTarget.zig");
const Headers = @import("Headers.zig");
-const Request = @import("Request.zig");
const BodyInit = @import("body_init.zig").BodyInit;
const XMLHttpRequestEventTarget = @import("XMLHttpRequestEventTarget.zig");
diff --git a/src/browser/webapi/storage/CookieStore.zig b/src/browser/webapi/storage/CookieStore.zig
index 983d7acc..c2d39a3b 100644
--- a/src/browser/webapi/storage/CookieStore.zig
+++ b/src/browser/webapi/storage/CookieStore.zig
@@ -21,8 +21,6 @@ const lp = @import("lightpanda");
const js = @import("../../js/js.zig");
const URL = @import("../../URL.zig");
-const Frame = @import("../../Frame.zig");
-const Session = @import("../../Session.zig");
const Notification = @import("../../../Notification.zig");
const Cookie = @import("Cookie.zig");
diff --git a/src/browser/webapi/streams/ReadableStreamDefaultReader.zig b/src/browser/webapi/streams/ReadableStreamDefaultReader.zig
index afbe85e4..9888d847 100644
--- a/src/browser/webapi/streams/ReadableStreamDefaultReader.zig
+++ b/src/browser/webapi/streams/ReadableStreamDefaultReader.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const js = @import("../../js/js.zig");
const ReadableStream = @import("ReadableStream.zig");
diff --git a/src/browser/xpath/Evaluator.zig b/src/browser/xpath/Evaluator.zig
index 00788023..5260c9ae 100644
--- a/src/browser/xpath/Evaluator.zig
+++ b/src/browser/xpath/Evaluator.zig
@@ -39,7 +39,6 @@ const functions = @import("functions.zig");
const Frame = lp.Frame;
const Element = Node.Element;
-const Document = Node.Document;
const Allocator = std.mem.Allocator;
const Evaluator = @This();
@@ -794,7 +793,6 @@ fn lessThanDocOrder(_: void, a: *Node, b: *Node) bool {
// ---------------------------------------------------------------------
const testing = std.testing;
-const Tokenizer = @import("Tokenizer.zig");
test "Evaluator: cmpNumber NaN semantics" {
const nan = std.math.nan(f64);
diff --git a/src/browser/xpath/functions.zig b/src/browser/xpath/functions.zig
index d8d42de4..755849cc 100644
--- a/src/browser/xpath/functions.zig
+++ b/src/browser/xpath/functions.zig
@@ -336,7 +336,6 @@ fn roundHalfToPosInf(n: f64) f64 {
// ---------------------------------------------------------------------
const testing = std.testing;
-const Tokenizer = @import("Tokenizer.zig");
const Parser = @import("Parser.zig");
const Evaluator = @import("Evaluator.zig");
diff --git a/src/browser/xpath/result.zig b/src/browser/xpath/result.zig
index 0556f4ee..5f240913 100644
--- a/src/browser/xpath/result.zig
+++ b/src/browser/xpath/result.zig
@@ -27,7 +27,6 @@ const std = @import("std");
const Node = @import("../webapi/Node.zig");
-const CData = Node.CData;
const Allocator = std.mem.Allocator;
pub const Result = union(enum) {
diff --git a/src/cdp/domains/console.zig b/src/cdp/domains/console.zig
index dd4e9d81..fa83c378 100644
--- a/src/cdp/domains/console.zig
+++ b/src/cdp/domains/console.zig
@@ -18,7 +18,6 @@
const std = @import("std");
-const id = @import("../id.zig");
const CDP = @import("../CDP.zig");
const Notification = @import("../../Notification.zig");
diff --git a/src/cdp/domains/fetch.zig b/src/cdp/domains/fetch.zig
index b2831abe..0d8f2347 100644
--- a/src/cdp/domains/fetch.zig
+++ b/src/cdp/domains/fetch.zig
@@ -19,7 +19,6 @@
const std = @import("std");
const lp = @import("lightpanda");
-const HttpClient = @import("../../browser/HttpClient.zig");
const http = @import("../../network/http.zig");
const Notification = @import("../../Notification.zig");
diff --git a/src/cdp/domains/webmcp.zig b/src/cdp/domains/webmcp.zig
index 188cfd10..a25f7467 100644
--- a/src/cdp/domains/webmcp.zig
+++ b/src/cdp/domains/webmcp.zig
@@ -25,13 +25,11 @@ const id = @import("../id.zig");
const CDP = @import("../CDP.zig");
const ModelContext = @import("../../browser/webapi/ModelContext.zig");
-const Frame = @import("../../browser/Frame.zig");
const Notification = @import("../../Notification.zig");
const js = @import("../../browser/js/js.zig");
const ModelContextClient = ModelContext.ModelContextClient;
const log = lp.log;
-const Allocator = std.mem.Allocator;
pub const Invocation = struct {
id: u32,
diff --git a/src/network/layer/CacheLayer.zig b/src/network/layer/CacheLayer.zig
index 495ef096..57b97c85 100644
--- a/src/network/layer/CacheLayer.zig
+++ b/src/network/layer/CacheLayer.zig
@@ -20,8 +20,6 @@ const std = @import("std");
const lp = @import("lightpanda");
const Layer = @import("../../browser/HttpClient.zig").Layer;
-const Client = @import("../../browser/HttpClient.zig").Client;
-const NextTickNode = @import("../../browser/HttpClient.zig").NextTickNode;
const Request = @import("../../browser/HttpClient.zig").Request;
const Transfer = @import("../../browser/HttpClient.zig").Transfer;
const Response = @import("../../browser/HttpClient.zig").Response;
diff --git a/src/network/layer/InterceptionLayer.zig b/src/network/layer/InterceptionLayer.zig
index 70648439..25c49ae9 100644
--- a/src/network/layer/InterceptionLayer.zig
+++ b/src/network/layer/InterceptionLayer.zig
@@ -16,7 +16,6 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
const builtin = @import("builtin");
const lp = @import("lightpanda");
const log = lp.log;
@@ -24,7 +23,6 @@ const log = lp.log;
const IS_DEBUG = builtin.mode == .Debug;
const http = @import("../http.zig");
-const Client = @import("../../browser/HttpClient.zig").Client;
const Request = @import("../../browser/HttpClient.zig").Request;
const Transfer = @import("../../browser/HttpClient.zig").Transfer;
const Response = @import("../../browser/HttpClient.zig").Response;
diff --git a/src/network/layer/RobotsLayer.zig b/src/network/layer/RobotsLayer.zig
index 124dec71..1f8a3125 100644
--- a/src/network/layer/RobotsLayer.zig
+++ b/src/network/layer/RobotsLayer.zig
@@ -21,15 +21,12 @@ const lp = @import("lightpanda");
const URL = @import("../../browser/URL.zig");
const Layer = @import("../../browser/HttpClient.zig").Layer;
-const Client = @import("../../browser/HttpClient.zig").Client;
const Transfer = @import("../../browser/HttpClient.zig").Transfer;
const Response = @import("../../browser/HttpClient.zig").Response;
const Robots = @import("../Robots.zig");
const Network = @import("../Network.zig");
-const Forward = @import("Forward.zig");
-
const log = lp.log;
const Allocator = std.mem.Allocator;
diff --git a/src/network/layer/WebBotAuthLayer.zig b/src/network/layer/WebBotAuthLayer.zig
index a13b1b20..810d94ef 100644
--- a/src/network/layer/WebBotAuthLayer.zig
+++ b/src/network/layer/WebBotAuthLayer.zig
@@ -16,18 +16,10 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
-const std = @import("std");
-const lp = @import("lightpanda");
-
-const WebBotAuth = @import("../WebBotAuth.zig");
-
const URL = @import("../../browser/URL.zig");
const Layer = @import("../../browser/HttpClient.zig").Layer;
-const Client = @import("../../browser/HttpClient.zig").Client;
const Transfer = @import("../../browser/HttpClient.zig").Transfer;
-const log = lp.log;
-
const WebBotAuthLayer = @This();
next: Layer = undefined,
diff --git a/src/storage/sqlite/Pool.zig b/src/storage/sqlite/Pool.zig
index ec48e569..89781d21 100644
--- a/src/storage/sqlite/Pool.zig
+++ b/src/storage/sqlite/Pool.zig
@@ -19,8 +19,6 @@
const std = @import("std");
const Sqlite = @import("Sqlite.zig");
-const c = Sqlite.c;
-
const Thread = std.Thread;
const Allocator = std.mem.Allocator;
diff --git a/src/testing.zig b/src/testing.zig
index d4df54c4..3085f28c 100644
--- a/src/testing.zig
+++ b/src/testing.zig
@@ -42,7 +42,6 @@ pub fn reset() void {
const App = @import("App.zig");
const js = @import("browser/js/js.zig");
const Config = @import("Config.zig");
-const HttpClient = @import("browser/HttpClient.zig");
const Frame = @import("browser/Frame.zig");
const Browser = @import("browser/Browser.zig");
const Session = @import("browser/Session.zig");