diff --git a/packages/backend/src/server/api/stream/types.ts b/packages/backend/src/server/api/stream/types.ts
index 9bdab19de47becf7bce29e499c640a577d1bb428..63aff64fc97991af0061869cf904cf801a552d9a 100644
--- a/packages/backend/src/server/api/stream/types.ts
+++ b/packages/backend/src/server/api/stream/types.ts
@@ -144,7 +144,7 @@ export interface NoteStreamTypes {
 	};
 	updated: {
 		updatedAt: Date;
-	}
+	};
 }
 type NoteStreamEventTypes = {
 	[key in keyof NoteStreamTypes]: {
diff --git a/packages/frontend/src/components/MkNoteSub.vue b/packages/frontend/src/components/MkNoteSub.vue
index 2a3cd9bf022d16270fb2b98a882cdf86fe2e620f..490211fad349c5117bffc48745d799f19816df0b 100644
--- a/packages/frontend/src/components/MkNoteSub.vue
+++ b/packages/frontend/src/components/MkNoteSub.vue
@@ -15,7 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 					<Mfm v-if="note.cw != ''" style="margin-right: 8px;" :text="note.cw" :author="note.user" :i="$i"/>
 					<MkCwButton v-model="showContent" :note="note"/>
 				</p>
-				<div v-show="note.cw == null || showContent">
+				<div v-show="note.cw == null || showContent" @click="noteclick(note.id)">
 					<MkSubNoteContent :class="$style.text" :note="note"/>
 				</div>
 			</div>
@@ -52,6 +52,7 @@ import { $i } from '@/account.js';
 import { userPage } from "@/filters/user";
 import { checkWordMute } from "@/scripts/check-word-mute";
 import { defaultStore } from "@/store";
+import { useRouter } from '@/router.js';
 
 const props = withDefaults(defineProps<{
 	note: Misskey.entities.Note;
@@ -63,8 +64,14 @@ const props = withDefaults(defineProps<{
 	depth: 1,
 });
 
+const router = useRouter();
+
 const muted = ref(checkWordMute(props.note, $i, defaultStore.state.mutedWords));
 
+function noteclick(id: string) {
+	router.push(`/notes/${id}`);
+}
+
 let showContent = $ref(false);
 let replies: Misskey.entities.Note[] = $ref([]);