diff --git a/src/entryPoints/communityConsole/contentScripts/main.ts b/src/entryPoints/communityConsole/contentScripts/main.ts
index 35088ea..2274fd0 100644
--- a/src/entryPoints/communityConsole/contentScripts/main.ts
+++ b/src/entryPoints/communityConsole/contentScripts/main.ts
@@ -42,6 +42,12 @@
 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';
+import FlattenThreadsAdditionalInfoHandler from '../../../features/flattenThreads/presentation/nodeWatcherHandlers/additionalInfo.handler';
+import FlattenThreadsQuoteHandler from '../../../features/flattenThreads/presentation/nodeWatcherHandlers/quote.handler';
+import FlattenThreadsReaddReplyBtnHandler from '../../../features/flattenThreads/presentation/nodeWatcherHandlers/readdReplyBtn.handler';
+import FlattenThreadsReplyBtnHandler from '../../../features/flattenThreads/presentation/nodeWatcherHandlers/replyBtn.handler';
+import FlattenThreads from '../../../features/flattenThreads/core/flattenThreads';
+import FlattenThreadsStylesScript from '../../../features/flattenThreads/presentation/scripts/styles.script';
 
 const scriptRunner = createScriptRunner();
 scriptRunner.run();
@@ -64,6 +70,7 @@
   );
 
   const ccInfiniteScroll = new CCInfiniteScroll();
+  const flattenThreads = new FlattenThreads();
 
   return new ScriptRunner(
     new SortedScriptsProviderAdapter(
@@ -133,6 +140,22 @@
               new CCInfiniteScrollLoadMoreBtnHandler(ccInfiniteScroll),
             ],
             [
+              'flattenThreadsAdditionalInfo',
+              new FlattenThreadsAdditionalInfoHandler(flattenThreads),
+            ],
+            [
+              'flattenThreadsQuote',
+              new FlattenThreadsQuoteHandler(flattenThreads),
+            ],
+            [
+              'flattenThreadsReaddReplyBtn',
+              new FlattenThreadsReaddReplyBtnHandler(flattenThreads),
+            ],
+            [
+              'flattenThreadsReplyBtn',
+              new FlattenThreadsReplyBtnHandler(flattenThreads),
+            ],
+            [
               'threadPageDesignWarningInject',
               new ThreadPageDesignWarningInjectHandler(threadPageDesignWarning),
             ],
@@ -151,6 +174,7 @@
         new AutoRefreshStylesScript(),
         new CCExtraInfoInjectScript(),
         new CCExtraInfoStylesScript(),
+        new FlattenThreadsStylesScript(),
         new WorkflowsImportStylesheetScript(),
 
         // Standalone scripts
diff --git a/src/entryPoints/communityConsole/contentScripts/start.ts b/src/entryPoints/communityConsole/contentScripts/start.ts
index 72302ff..21ef427 100644
--- a/src/entryPoints/communityConsole/contentScripts/start.ts
+++ b/src/entryPoints/communityConsole/contentScripts/start.ts
@@ -24,6 +24,8 @@
 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';
+import FlattenThreadsSetUpReplyActionHandlerScript from '../../../features/flattenThreads/presentation/scripts/setUpReplyActionHandler.script';
+import FlattenThreadsReplyActionHandler from '../../../features/flattenThreads/core/replyActionHandler';
 
 const scriptRunner = createScriptRunner();
 scriptRunner.run();
@@ -53,10 +55,11 @@
         new CCDarkThemeInjectAutoDarkTheme(),
         new CCDarkThemeInjectForcedDarkTheme(),
         new CCExtraInfoSetUpScript(extraInfo),
-        new InteropThreadPageSetupScript(),
-        new ThreadPageDesignWarningSetUpScript(
-          threadPageDesignWarning,
+        new FlattenThreadsSetUpReplyActionHandlerScript(
+          new FlattenThreadsReplyActionHandler(optionsProvider),
         ),
+        new InteropThreadPageSetupScript(),
+        new ThreadPageDesignWarningSetUpScript(threadPageDesignWarning),
         new LoadDraftsSetupScript(optionsProvider, startupDataStorage),
         new WorkflowsImportSetUpScript(workflowsImport),
 
