try
         {
-            LoadFromDirectory(new DirectoryInfo(Path.Combine(_pluginInterface.ConfigDirectory.FullName, "Quests")));
+            LoadFromDirectory(new DirectoryInfo(Path.Combine(_pluginInterface.ConfigDirectory.FullName, "Quests")),
+                Quest.ESource.UserDirectory);
         }
         catch (Exception e)
         {
                 Id = questId,
                 Root = questRoot,
                 Info = questInfo,
-                ReadOnly = true,
+                Source = Quest.ESource.Assembly,
             };
             _quests[quest.Id] = quest;
         }
                     foreach (var expansionFolder in ExpansionData.ExpansionFolders.Values)
                         LoadFromDirectory(
                             new DirectoryInfo(Path.Combine(pathProjectDirectory.FullName, expansionFolder)),
+                            Quest.ESource.ProjectDirectory,
                             LogLevel.Trace);
                 }
                 catch (Exception e)
 
     private void ValidateQuests()
     {
-        _questValidator.Validate(_quests.Values.Where(x => !x.ReadOnly));
+        _questValidator.Validate(_quests.Values.Where(x => x.Source != Quest.ESource.Assembly));
     }
 
-    private void LoadQuestFromStream(string fileName, Stream stream)
+    private void LoadQuestFromStream(string fileName, Stream stream, Quest.ESource source)
     {
         _logger.LogTrace("Loading quest from '{FileName}'", fileName);
         ElementId? questId = ExtractQuestIdFromName(fileName);
             Id = questId,
             Root = questRoot,
             Info = questInfo,
-            ReadOnly = false,
+            Source = source,
         };
         _quests[quest.Id] = quest;
     }
 
-    private void LoadFromDirectory(DirectoryInfo directory, LogLevel logLevel = LogLevel.Information)
+    private void LoadFromDirectory(DirectoryInfo directory, Quest.ESource source,
+        LogLevel logLevel = LogLevel.Information)
     {
         if (!directory.Exists)
         {
             try
             {
                 using FileStream stream = new FileStream(fileInfo.FullName, FileMode.Open, FileAccess.Read);
-                LoadQuestFromStream(fileInfo.Name, stream);
+                LoadQuestFromStream(fileInfo.Name, stream, source);
             }
             catch (Exception e)
             {
         }
 
         foreach (DirectoryInfo childDirectory in directory.GetDirectories())
-            LoadFromDirectory(childDirectory, logLevel);
+            LoadFromDirectory(childDirectory, source, logLevel);
     }
 
     private static ElementId? ExtractQuestIdFromName(string resourceName)
 
     public required ElementId Id { get; init; }
     public required QuestRoot Root { get; init; }
     public required IQuestInfo Info { get; init; }
-    public required bool ReadOnly { get; init; }
+    public required ESource Source { get; init; }
 
     public QuestSequence? FindSequence(byte currentSequence)
         => Root.QuestSequence.SingleOrDefault(seq => seq.Sequence == currentSequence);
             }
         }
     }
+
+    public enum ESource
+    {
+        Assembly,
+        ProjectDirectory,
+        UserDirectory,
+    }
 }
 
             var startedQuest = _questController.StartedQuest;
             if (startedQuest != null)
             {
+                if (startedQuest.Quest.Source == Quest.ESource.UserDirectory)
+                {
+                    ImGui.PushFont(UiBuilder.IconFont);
+                    ImGui.TextColored(ImGuiColors.DalamudOrange, FontAwesomeIcon.FilePen.ToIconString());
+                    ImGui.PopFont();
+                    ImGui.SameLine(0);
+
+                    if (ImGui.IsItemHovered())
+                        ImGui.SetTooltip("This quest is loaded from your 'pluginConfigs\\Questionable\\Quests' directory.\nThis gets loaded even if Questionable ships with a newer/different version of the quest.");
+                }
+
                 ImGui.TextUnformatted(
                     $"Quest: {Shorten(startedQuest.Quest.Info.Name)} / {startedQuest.Sequence} / {startedQuest.Step}");