diff --git a/backend/package-lock.json b/backend/package-lock.json
index 805b34cc..c3e38feb 100644
--- a/backend/package-lock.json
+++ b/backend/package-lock.json
@@ -24,7 +24,7 @@
         "humanize-duration": "^3.15.0",
         "io-ts": "^2.0.0",
         "js-yaml": "^3.13.1",
-        "knub": "^30.0.0-beta.40",
+        "knub": "^30.0.0-beta.41",
         "knub-command-manager": "^9.1.0",
         "last-commit-log": "^2.1.0",
         "lodash.chunk": "^4.2.0",
@@ -3043,9 +3043,9 @@
       }
     },
     "node_modules/knub": {
-      "version": "30.0.0-beta.40",
-      "resolved": "https://registry.npmjs.org/knub/-/knub-30.0.0-beta.40.tgz",
-      "integrity": "sha512-oGuc2Q57Zpgr3iRqCo5dzZdinNsDr1uiJs3TB/4eQNCIaaLqD+a5HfwGbDBW11ix+zTCqbLUI8/4hjJIKpJT8g==",
+      "version": "30.0.0-beta.41",
+      "resolved": "https://registry.npmjs.org/knub/-/knub-30.0.0-beta.41.tgz",
+      "integrity": "sha512-tKHGG9vh62ZN0JIi2ULYHvJbR28WXhym8c9vRtyQCPQqJ1w3n7Fow9JXbh6BUTSD8QszWbvq1Ri22wbQtBEyNw==",
       "dependencies": {
         "discord-api-types": "^0.22.0",
         "discord.js": "^13.0.1",
@@ -8290,9 +8290,9 @@
       }
     },
     "knub": {
-      "version": "30.0.0-beta.40",
-      "resolved": "https://registry.npmjs.org/knub/-/knub-30.0.0-beta.40.tgz",
-      "integrity": "sha512-oGuc2Q57Zpgr3iRqCo5dzZdinNsDr1uiJs3TB/4eQNCIaaLqD+a5HfwGbDBW11ix+zTCqbLUI8/4hjJIKpJT8g==",
+      "version": "30.0.0-beta.41",
+      "resolved": "https://registry.npmjs.org/knub/-/knub-30.0.0-beta.41.tgz",
+      "integrity": "sha512-tKHGG9vh62ZN0JIi2ULYHvJbR28WXhym8c9vRtyQCPQqJ1w3n7Fow9JXbh6BUTSD8QszWbvq1Ri22wbQtBEyNw==",
       "requires": {
         "discord-api-types": "^0.22.0",
         "discord.js": "^13.0.1",
diff --git a/backend/package.json b/backend/package.json
index df881336..67724ff9 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -39,7 +39,7 @@
     "humanize-duration": "^3.15.0",
     "io-ts": "^2.0.0",
     "js-yaml": "^3.13.1",
-    "knub": "^30.0.0-beta.40",
+    "knub": "^30.0.0-beta.41",
     "knub-command-manager": "^9.1.0",
     "last-commit-log": "^2.1.0",
     "lodash.chunk": "^4.2.0",
diff --git a/backend/src/plugins/AutoDelete/AutoDeletePlugin.ts b/backend/src/plugins/AutoDelete/AutoDeletePlugin.ts
index aa7ffd50..593ffb31 100644
--- a/backend/src/plugins/AutoDelete/AutoDeletePlugin.ts
+++ b/backend/src/plugins/AutoDelete/AutoDeletePlugin.ts
@@ -25,7 +25,7 @@ export const AutoDeletePlugin = zeppelinGuildPlugin<AutoDeletePluginType>()({
     configurationGuide: "Maximum deletion delay is currently 5 minutes",
   },
 
-  dependencies: [TimeAndDatePlugin, LogsPlugin],
+  dependencies: () => [TimeAndDatePlugin, LogsPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/AutoReactions/AutoReactionsPlugin.ts b/backend/src/plugins/AutoReactions/AutoReactionsPlugin.ts
index 886a9922..6633427d 100644
--- a/backend/src/plugins/AutoReactions/AutoReactionsPlugin.ts
+++ b/backend/src/plugins/AutoReactions/AutoReactionsPlugin.ts
@@ -33,7 +33,7 @@ export const AutoReactionsPlugin = zeppelinGuildPlugin<AutoReactionsPluginType>(
     `),
   },
 
-  dependencies: [LogsPlugin],
+  dependencies: () => [LogsPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/Automod/AutomodPlugin.ts b/backend/src/plugins/Automod/AutomodPlugin.ts
index 8170f632..80d160e3 100644
--- a/backend/src/plugins/Automod/AutomodPlugin.ts
+++ b/backend/src/plugins/Automod/AutomodPlugin.ts
@@ -159,7 +159,7 @@ export const AutomodPlugin = zeppelinGuildPlugin<AutomodPluginType>()({
   info: pluginInfo,
 
   // prettier-ignore
-  dependencies: [
+  dependencies: () => [
     LogsPlugin,
     ModActionsPlugin,
     MutesPlugin,
diff --git a/backend/src/plugins/Cases/CasesPlugin.ts b/backend/src/plugins/Cases/CasesPlugin.ts
index 159e45fc..fd6c1e41 100644
--- a/backend/src/plugins/Cases/CasesPlugin.ts
+++ b/backend/src/plugins/Cases/CasesPlugin.ts
@@ -18,6 +18,9 @@ import { postCaseToCaseLogChannel } from "./functions/postToCaseLogChannel";
 import { CaseArgs, CaseNoteArgs, CasesPluginType, ConfigSchema } from "./types";
 import { LogsPlugin } from "../Logs/LogsPlugin";
 
+// Workaround for circular dependency
+const AnyTypedLogsPlugin = LogsPlugin as any;
+
 const defaultOptions = {
   config: {
     log_automatic_actions: true,
@@ -39,7 +42,7 @@ export const CasesPlugin = zeppelinGuildPlugin<CasesPluginType>()({
     `),
   },
 
-  dependencies: [TimeAndDatePlugin, LogsPlugin],
+  dependencies: () => [TimeAndDatePlugin, AnyTypedLogsPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/Censor/CensorPlugin.ts b/backend/src/plugins/Censor/CensorPlugin.ts
index 27f8ed9f..8a533093 100644
--- a/backend/src/plugins/Censor/CensorPlugin.ts
+++ b/backend/src/plugins/Censor/CensorPlugin.ts
@@ -55,7 +55,7 @@ export const CensorPlugin = zeppelinGuildPlugin<CensorPluginType>()({
     legacy: true,
   },
 
-  dependencies: [LogsPlugin],
+  dependencies: () => [LogsPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/ChannelArchiver/ChannelArchiverPlugin.ts b/backend/src/plugins/ChannelArchiver/ChannelArchiverPlugin.ts
index 3349c242..8bdd4133 100644
--- a/backend/src/plugins/ChannelArchiver/ChannelArchiverPlugin.ts
+++ b/backend/src/plugins/ChannelArchiver/ChannelArchiverPlugin.ts
@@ -8,7 +8,7 @@ export const ChannelArchiverPlugin = zeppelinGuildPlugin<ChannelArchiverPluginTy
   name: "channel_archiver",
   showInDocs: false,
 
-  dependencies: [TimeAndDatePlugin],
+  dependencies: () => [TimeAndDatePlugin],
   configSchema: t.type({}),
 
   // prettier-ignore
diff --git a/backend/src/plugins/CompanionChannels/CompanionChannelsPlugin.ts b/backend/src/plugins/CompanionChannels/CompanionChannelsPlugin.ts
index 54196d78..cadee696 100644
--- a/backend/src/plugins/CompanionChannels/CompanionChannelsPlugin.ts
+++ b/backend/src/plugins/CompanionChannels/CompanionChannelsPlugin.ts
@@ -24,7 +24,7 @@ export const CompanionChannelsPlugin = zeppelinGuildPlugin<CompanionChannelsPlug
     `),
   },
 
-  dependencies: [LogsPlugin],
+  dependencies: () => [LogsPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/ContextMenus/ContextMenuPlugin.ts b/backend/src/plugins/ContextMenus/ContextMenuPlugin.ts
index d9952d48..8cffe3d1 100644
--- a/backend/src/plugins/ContextMenus/ContextMenuPlugin.ts
+++ b/backend/src/plugins/ContextMenus/ContextMenuPlugin.ts
@@ -52,5 +52,5 @@ export const ContextMenuPlugin = zeppelinGuildPlugin<ContextMenuPluginType>()({
     loadAllCommands(pluginData);
   },
 
-  dependencies: [MutesPlugin, LogsPlugin, UtilityPlugin],
+  dependencies: () => [MutesPlugin, LogsPlugin, UtilityPlugin],
 });
diff --git a/backend/src/plugins/Logs/LogsPlugin.ts b/backend/src/plugins/Logs/LogsPlugin.ts
index c01ab594..69cedd1e 100644
--- a/backend/src/plugins/Logs/LogsPlugin.ts
+++ b/backend/src/plugins/Logs/LogsPlugin.ts
@@ -108,6 +108,10 @@ import { logVoiceChannelLeave } from "./logFunctions/logVoiceChannelLeave";
 import { logVoiceChannelMove } from "./logFunctions/logVoiceChannelMove";
 import { logMemberTimedUnban } from "./logFunctions/logMemberTimedUnban";
 import { logDmFailed } from "./logFunctions/logDmFailed";
+import { CasesPlugin } from "../Cases/CasesPlugin";
+
+// Workaround for circular dependency
+const AnyTypedCasesPlugin = CasesPlugin as any;
 
 const defaultOptions: PluginOptions<LogsPluginType> = {
   config: {
@@ -139,7 +143,7 @@ export const LogsPlugin = zeppelinGuildPlugin<LogsPluginType>()({
     prettyName: "Logs",
   },
 
-  dependencies: [TimeAndDatePlugin],
+  dependencies: () => [TimeAndDatePlugin, AnyTypedCasesPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/ModActions/ModActionsPlugin.ts b/backend/src/plugins/ModActions/ModActionsPlugin.ts
index 0a1ac232..4453efe8 100644
--- a/backend/src/plugins/ModActions/ModActionsPlugin.ts
+++ b/backend/src/plugins/ModActions/ModActionsPlugin.ts
@@ -122,7 +122,7 @@ export const ModActionsPlugin = zeppelinGuildPlugin<ModActionsPluginType>()({
     `),
   },
 
-  dependencies: [TimeAndDatePlugin, CasesPlugin, MutesPlugin, LogsPlugin],
+  dependencies: () => [TimeAndDatePlugin, CasesPlugin, MutesPlugin, LogsPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/Mutes/MutesPlugin.ts b/backend/src/plugins/Mutes/MutesPlugin.ts
index b845c299..91490491 100644
--- a/backend/src/plugins/Mutes/MutesPlugin.ts
+++ b/backend/src/plugins/Mutes/MutesPlugin.ts
@@ -70,7 +70,7 @@ export const MutesPlugin = zeppelinGuildPlugin<MutesPluginType>()({
   },
 
   configSchema: ConfigSchema,
-  dependencies: [CasesPlugin, LogsPlugin],
+  dependencies: () => [CasesPlugin, LogsPlugin],
   defaultOptions,
 
   // prettier-ignore
diff --git a/backend/src/plugins/Persist/PersistPlugin.ts b/backend/src/plugins/Persist/PersistPlugin.ts
index ede40235..3ba19fc3 100644
--- a/backend/src/plugins/Persist/PersistPlugin.ts
+++ b/backend/src/plugins/Persist/PersistPlugin.ts
@@ -27,7 +27,7 @@ export const PersistPlugin = zeppelinGuildPlugin<PersistPluginType>()({
     `),
   },
 
-  dependencies: [LogsPlugin],
+  dependencies: () => [LogsPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/Post/PostPlugin.ts b/backend/src/plugins/Post/PostPlugin.ts
index e6bd9355..1b176252 100644
--- a/backend/src/plugins/Post/PostPlugin.ts
+++ b/backend/src/plugins/Post/PostPlugin.ts
@@ -36,7 +36,7 @@ export const PostPlugin = zeppelinGuildPlugin<PostPluginType>()({
     prettyName: "Post",
   },
 
-  dependencies: [TimeAndDatePlugin, LogsPlugin],
+  dependencies: () => [TimeAndDatePlugin, LogsPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/ReactionRoles/ReactionRolesPlugin.ts b/backend/src/plugins/ReactionRoles/ReactionRolesPlugin.ts
index d289f6db..752c4c36 100644
--- a/backend/src/plugins/ReactionRoles/ReactionRolesPlugin.ts
+++ b/backend/src/plugins/ReactionRoles/ReactionRolesPlugin.ts
@@ -108,7 +108,7 @@ export const ReactionRolesPlugin = zeppelinGuildPlugin<ReactionRolesPluginType>(
     prettyName: "Reaction roles",
   },
 
-  dependencies: [LogsPlugin],
+  dependencies: () => [LogsPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/Reminders/RemindersPlugin.ts b/backend/src/plugins/Reminders/RemindersPlugin.ts
index e1a39417..058c5a46 100644
--- a/backend/src/plugins/Reminders/RemindersPlugin.ts
+++ b/backend/src/plugins/Reminders/RemindersPlugin.ts
@@ -29,7 +29,7 @@ export const RemindersPlugin = zeppelinGuildPlugin<RemindersPluginType>()({
     prettyName: "Reminders",
   },
 
-  dependencies: [TimeAndDatePlugin],
+  dependencies: () => [TimeAndDatePlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/Roles/RolesPlugin.ts b/backend/src/plugins/Roles/RolesPlugin.ts
index c55e42c1..c643b6d1 100644
--- a/backend/src/plugins/Roles/RolesPlugin.ts
+++ b/backend/src/plugins/Roles/RolesPlugin.ts
@@ -42,7 +42,7 @@ export const RolesPlugin = zeppelinGuildPlugin<RolesPluginType>()({
   },
 
   configSchema: ConfigSchema,
-  dependencies: [LogsPlugin],
+  dependencies: () => [LogsPlugin],
   defaultOptions,
 
   // prettier-ignore
diff --git a/backend/src/plugins/Slowmode/SlowmodePlugin.ts b/backend/src/plugins/Slowmode/SlowmodePlugin.ts
index f7dd06a3..44fa92d8 100644
--- a/backend/src/plugins/Slowmode/SlowmodePlugin.ts
+++ b/backend/src/plugins/Slowmode/SlowmodePlugin.ts
@@ -42,7 +42,7 @@ export const SlowmodePlugin = zeppelinGuildPlugin<SlowmodePluginType>()({
     prettyName: "Slowmode",
   },
 
-  dependencies: [LogsPlugin],
+  dependencies: () => [LogsPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/Spam/SpamPlugin.ts b/backend/src/plugins/Spam/SpamPlugin.ts
index 87dc50ad..28cae2be 100644
--- a/backend/src/plugins/Spam/SpamPlugin.ts
+++ b/backend/src/plugins/Spam/SpamPlugin.ts
@@ -54,7 +54,7 @@ export const SpamPlugin = zeppelinGuildPlugin<SpamPluginType>()({
     legacy: true,
   },
 
-  dependencies: [LogsPlugin],
+  dependencies: () => [LogsPlugin],
 
   configSchema: ConfigSchema,
   defaultOptions,
diff --git a/backend/src/plugins/Tags/TagsPlugin.ts b/backend/src/plugins/Tags/TagsPlugin.ts
index 0952eace..0b5763ff 100644
--- a/backend/src/plugins/Tags/TagsPlugin.ts
+++ b/backend/src/plugins/Tags/TagsPlugin.ts
@@ -61,7 +61,7 @@ export const TagsPlugin = zeppelinGuildPlugin<TagsPluginType>()({
   },
 
   configSchema: ConfigSchema,
-  dependencies: [LogsPlugin],
+  dependencies: () => [LogsPlugin],
   defaultOptions,
 
   // prettier-ignore
diff --git a/backend/src/plugins/Utility/UtilityPlugin.ts b/backend/src/plugins/Utility/UtilityPlugin.ts
index 3bad5d72..5a3e6636 100644
--- a/backend/src/plugins/Utility/UtilityPlugin.ts
+++ b/backend/src/plugins/Utility/UtilityPlugin.ts
@@ -119,7 +119,7 @@ export const UtilityPlugin = zeppelinGuildPlugin<UtilityPluginType>()({
     prettyName: "Utility",
   },
 
-  dependencies: [TimeAndDatePlugin, ModActionsPlugin, LogsPlugin],
+  dependencies: () => [TimeAndDatePlugin, ModActionsPlugin, LogsPlugin],
   configSchema: ConfigSchema,
   defaultOptions,
 
diff --git a/backend/src/plugins/WelcomeMessage/WelcomeMessagePlugin.ts b/backend/src/plugins/WelcomeMessage/WelcomeMessagePlugin.ts
index 400eff28..1bbcdb45 100644
--- a/backend/src/plugins/WelcomeMessage/WelcomeMessagePlugin.ts
+++ b/backend/src/plugins/WelcomeMessage/WelcomeMessagePlugin.ts
@@ -21,7 +21,7 @@ export const WelcomeMessagePlugin = zeppelinGuildPlugin<WelcomeMessagePluginType
   },
 
   configSchema: ConfigSchema,
-  dependencies: [LogsPlugin],
+  dependencies: () => [LogsPlugin],
   defaultOptions,
 
   // prettier-ignore