Index: ChapterX.Application/ReadingListItems/Commands/AddHandler.cs
===================================================================
--- ChapterX.Application/ReadingListItems/Commands/AddHandler.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
+++ ChapterX.Application/ReadingListItems/Commands/AddHandler.cs	(revision 99c1e45f4ac45a164229bc6f60f3b05bc26df047)
@@ -18,4 +18,8 @@
         public async Task<AddResponse> Handle(AddRequest request, CancellationToken cancellationToken)
         {
+            var exists = await _readingListItemsRepository.ExistsAsync(request.ReadingListId, request.StoryId, cancellationToken);
+            if (exists)
+                throw new InvalidOperationException("Story is already in this reading list.");
+
             var readingListItems = new Domain.Entities.ReadingListItems
             {
