diff --git a/lib/shared/messages/update-relationship-message-spec.js b/lib/shared/messages/update-relationship-message-spec.js
--- a/lib/shared/messages/update-relationship-message-spec.js
+++ b/lib/shared/messages/update-relationship-message-spec.js
@@ -152,6 +152,18 @@
           time: rawMessageInfo.time,
           operation: rawMessageInfo.operation,
         };
+      } else if (rawMessageInfo.operation === 'farcaster_mutual') {
+        return {
+          type: messageTypes.UPDATE_RELATIONSHIP,
+          id: rawMessageInfo.id,
+          threadID: rawMessageInfo.threadID,
+          creator,
+          creatorFID: rawMessageInfo.creatorFID,
+          target,
+          targetFID: rawMessageInfo.targetFID,
+          time: rawMessageInfo.time,
+          operation: rawMessageInfo.operation,
+        };
       } else {
         return {
           type: messageTypes.UPDATE_RELATIONSHIP,
diff --git a/lib/types/messages/update-relationship.js b/lib/types/messages/update-relationship.js
--- a/lib/types/messages/update-relationship.js
+++ b/lib/types/messages/update-relationship.js
@@ -71,12 +71,28 @@
     rawUpdateFarcasterRelationshipMessageInfoValidator,
   ]);
 
-export type UpdateRelationshipMessageInfo = {
+export type UpdateTraditionalRelationshipMessageInfo = {
   +type: 22,
   +id: string,
   +threadID: string,
   +creator: RelativeUserInfo,
   +target: RelativeUserInfo,
   +time: number,
-  +operation: 'request_sent' | 'request_accepted' | 'farcaster_mutual',
+  +operation: TraditionalRelationshipOperation,
 };
+
+export type UpdateFarcasterRelationshipMessageInfo = {
+  +type: 22,
+  +id: string,
+  +threadID: string,
+  +creator: RelativeUserInfo,
+  +creatorFID: string,
+  +target: RelativeUserInfo,
+  +targetFID: string,
+  +time: number,
+  +operation: FarcasterRelationshipOperation,
+};
+
+export type UpdateRelationshipMessageInfo =
+  | UpdateTraditionalRelationshipMessageInfo
+  | UpdateFarcasterRelationshipMessageInfo;