Index: ChapterX.Application/ReadingListItems/Commands/AddHandler.cs
===================================================================
--- ChapterX.Application/ReadingListItems/Commands/AddHandler.cs	(revision 877c13c3dd0934c1d31da7988d0d2c2c5925ed55)
+++ ChapterX.Application/ReadingListItems/Commands/AddHandler.cs	(revision 7fbb91c66b46c3063caa934a83d6d0681406c83c)
@@ -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
             {
