diff --git a/packages/discord.js/src/structures/ThreadChannel.js b/packages/discord.js/src/structures/ThreadChannel.js
index 14cbe6b84dd9..00ef1ad3e6e6 100644
--- a/packages/discord.js/src/structures/ThreadChannel.js
+++ b/packages/discord.js/src/structures/ThreadChannel.js
@@ -283,7 +283,7 @@ class ThreadChannel extends BaseChannel {
* This only works when the thread started from a message in the parent channel, otherwise the promise will
* reject. If you just need the id of that message, use {@link ThreadChannel#id} instead.
* @param {BaseFetchOptions} [options] Additional options for this fetch
- * @returns {Promise}
+ * @returns {Promise|null>}
*/
// eslint-disable-next-line require-await
async fetchStarterMessage(options) {
diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts
index 719e9e1015f7..91a071d56748 100644
--- a/packages/discord.js/typings/index.d.ts
+++ b/packages/discord.js/typings/index.d.ts
@@ -2551,7 +2551,7 @@ export class ThreadChannel extends TextBasedChannelMixin(BaseChannel, true, [
checkAdmin?: boolean,
): Readonly | null;
public fetchOwner(options?: BaseFetchOptions): Promise;
- public fetchStarterMessage(options?: BaseFetchOptions): Promise;
+ public fetchStarterMessage(options?: BaseFetchOptions): Promise | null>;
public setArchived(archived?: boolean, reason?: string): Promise;
public setAutoArchiveDuration(
autoArchiveDuration: ThreadAutoArchiveDuration,