--- a/scripts/hak/fetch.ts	2025-07-30 17:41:30.000000000 +0300
+++ b/scripts/hak/fetch.ts	2025-08-10 20:00:44.506272030 +0300
@@ -31,7 +31,7 @@
     });
 
     console.log("Running yarn install in " + moduleInfo.moduleBuildDir);
-    await hakEnv.spawn("yarn", ["install", "--ignore-scripts"], {
+    await hakEnv.spawn("yarn", ["install", "--offline", "--ignore-scripts"], {
         cwd: moduleInfo.moduleBuildDir,
     });
 
--- a/hak/matrix-seshat/build.ts	2025-08-12 20:56:41.683279350 +0300
+++ b/hak/matrix-seshat/build.ts	2025-08-12 20:35:48.549674868 +0300
@@ -17,7 +17,7 @@
     }
 
     console.log("Running yarn install");
-    await hakEnv.spawn("yarn", ["install"], {
+    await hakEnv.spawn("yarn", ["install", "--offline"], {
         cwd: moduleInfo.moduleBuildDir,
         env,
         shell: true,
@@ -26,7 +26,7 @@
     const buildTarget = hakEnv.wantsStaticSqlCipher() ? "build-bundled" : "build";
 
     console.log("Running yarn build");
-    await hakEnv.spawn("yarn", ["run", buildTarget], {
+    await hakEnv.spawn("yarn", ["--offline", "run", buildTarget], {
         cwd: moduleInfo.moduleBuildDir,
         env,
         shell: true,
--- a/scripts/hak/link.ts	2025-07-30 17:41:30.000000000 +0300
+++ b/scripts/hak/link.ts	2025-08-12 21:51:22.436370101 +0300
@@ -38,10 +38,10 @@
         );
     }
 
-    await hakEnv.spawn("yarn", ["link"], {
+    await hakEnv.spawn("yarn", ["--offline", "link"], {
         cwd: moduleInfo.moduleOutDir,
     });
-    await hakEnv.spawn("yarn", ["link", moduleInfo.name], {
+    await hakEnv.spawn("yarn", ["--offline", "link", moduleInfo.name], {
         cwd: hakEnv.projectRoot,
     });
 }
