diff --git a/src/entryPoints/communityConsole/contentScripts/main.ts b/src/entryPoints/communityConsole/contentScripts/main.ts
index 47ec269..35088ea 100644
--- a/src/entryPoints/communityConsole/contentScripts/main.ts
+++ b/src/entryPoints/communityConsole/contentScripts/main.ts
@@ -6,6 +6,7 @@
   ExtraInfoDependency,
   OptionsProviderDependency,
   StartupDataStorageDependency,
+  ThreadPageDesignWarningDependency,
   WorkflowsImportDependency,
 } from '../../../common/architecture/dependenciesProvider/DependenciesProvider';
 import AutoRefreshThreadListHideHandler from '../../../features/autoRefresh/presentation/nodeWatcherHandlers/threadListHide.handler';
@@ -40,6 +41,7 @@
 import CCExtraInfoStylesScript from '../../../features/extraInfo/presentation/scripts/ccExtraInfoStyles.script';
 import InjectLitComponentsScript from '../../../presentation/standaloneScripts/litComponents/injectLitComponents.script';
 import ApplyStartupDataModificationsOnMainScript from '../../../presentation/standaloneScripts/startupDataStorage/applyStartupDataModificationsOnMain.script';
+import ThreadPageDesignWarningInjectHandler from '../../../features/threadPageDesignWarning/presentation/nodeWatcherHandlers/inject.handler';
 
 const scriptRunner = createScriptRunner();
 scriptRunner.run();
@@ -54,6 +56,9 @@
   const startupDataStorage = dependenciesProvider.getDependency(
     StartupDataStorageDependency,
   );
+  const threadPageDesignWarning = dependenciesProvider.getDependency(
+    ThreadPageDesignWarningDependency,
+  );
   const workflowsImport = dependenciesProvider.getDependency(
     WorkflowsImportDependency,
   );
@@ -128,6 +133,10 @@
               new CCInfiniteScrollLoadMoreBtnHandler(ccInfiniteScroll),
             ],
             [
+              'threadPageDesignWarningInject',
+              new ThreadPageDesignWarningInjectHandler(threadPageDesignWarning),
+            ],
+            [
               'workflowsImportCRTags',
               new WorkflowsImportCRTagsHandler(workflowsImport),
             ],
diff --git a/src/entryPoints/communityConsole/contentScripts/start.ts b/src/entryPoints/communityConsole/contentScripts/start.ts
index 1d02a6b..72302ff 100644
--- a/src/entryPoints/communityConsole/contentScripts/start.ts
+++ b/src/entryPoints/communityConsole/contentScripts/start.ts
@@ -6,6 +6,7 @@
   ExtraInfoDependency,
   OptionsProviderDependency,
   StartupDataStorageDependency,
+  ThreadPageDesignWarningDependency,
   WorkflowsImportDependency,
 } from '../../../common/architecture/dependenciesProvider/DependenciesProvider';
 import AutoRefreshSetUpScript from '../../../features/autoRefresh/presentation/scripts/setUp.script';
@@ -22,6 +23,7 @@
 import MWOptionsWatcherServerScript from '../../../presentation/standaloneScripts/mainWorldServers/MWOptionsWatcherServerScript.script';
 import ApplyStartupDataModificationsOnStartScript from '../../../presentation/standaloneScripts/startupDataStorage/applyStartupDataModificationsOnStart.script';
 import XHRInterceptorScript from '../../../presentation/standaloneScripts/xhrInterceptor/xhrInterceptor.script';
+import ThreadPageDesignWarningSetUpScript from '../../../features/threadPageDesignWarning/presentation/scripts/setUp.script';
 
 const scriptRunner = createScriptRunner();
 scriptRunner.run();
@@ -36,6 +38,9 @@
   const startupDataStorage = dependenciesProvider.getDependency(
     StartupDataStorageDependency,
   );
+  const threadPageDesignWarning = dependenciesProvider.getDependency(
+    ThreadPageDesignWarningDependency,
+  );
   const workflowsImport = dependenciesProvider.getDependency(
     WorkflowsImportDependency,
   );
@@ -49,6 +54,9 @@
         new CCDarkThemeInjectForcedDarkTheme(),
         new CCExtraInfoSetUpScript(extraInfo),
         new InteropThreadPageSetupScript(),
+        new ThreadPageDesignWarningSetUpScript(
+          threadPageDesignWarning,
+        ),
         new LoadDraftsSetupScript(optionsProvider, startupDataStorage),
         new WorkflowsImportSetUpScript(workflowsImport),
 
