diff --git a/internal/lsp/cache/mod.go b/internal/lsp/cache/mod.go
index 89b7f96..dfa1f4f 100644
--- a/internal/lsp/cache/mod.go
+++ b/internal/lsp/cache/mod.go
@@ -71,11 +71,16 @@
 		}
 		data.parsed.File, data.err = modfile.Parse(modFH.URI().Filename(), contents, nil)
 		if data.err != nil {
-			// Attempt to convert the error to a non-fatal parse error.
+			// Attempt to convert the error to a standardized parse error.
 			if parseErr, extractErr := extractModParseErrors(modFH.URI(), m, data.err, contents); extractErr == nil {
-				data.err = nil
 				data.parsed.ParseErrors = []source.Error{*parseErr}
 			}
+			// If the file was still parsed, we don't want to treat this as a
+			// fatal error. Note: This currently cannot happen as modfile.Parse
+			// always returns an error when the file is nil.
+			if data.parsed.File != nil {
+				data.err = nil
+			}
 		}
 		return data
 	})
diff --git a/internal/lsp/cache/mod_tidy.go b/internal/lsp/cache/mod_tidy.go
index a5c7578..e2f010d 100644
--- a/internal/lsp/cache/mod_tidy.go
+++ b/internal/lsp/cache/mod_tidy.go
@@ -87,15 +87,20 @@
 
 		snapshot := arg.(*snapshot)
 		pm, err := snapshot.ParseMod(ctx, fh)
-		if err != nil {
-			return &modTidyData{err: err}
-		}
-		if len(pm.ParseErrors) > 0 {
+		if err != nil || len(pm.ParseErrors) > 0 {
+			if err == nil {
+				err = fmt.Errorf("could not parse module to tidy: %v", pm.ParseErrors)
+			}
+			var errors []source.Error
+			if pm != nil {
+				errors = pm.ParseErrors
+			}
 			return &modTidyData{
 				tidied: &source.TidiedModule{
 					Parsed: pm,
+					Errors: errors,
 				},
-				err: fmt.Errorf("could not parse module to tidy: %v", pm.ParseErrors),
+				err: err,
 			}
 		}
 		tmpURI, runner, inv, cleanup, err := snapshot.goCommandInvocation(ctx, true, "mod", []string{"tidy"})
@@ -359,7 +364,7 @@
 		return source.Error{}, err
 	}
 	fix := &source.SuggestedFix{
-		Title: "Add %s to your go.mod file",
+		Title: fmt.Sprintf("Add %s to your go.mod file", req.Mod.Path),
 		Edits: map[span.URI][]protocol.TextEdit{
 			pm.Mapper.URI: edits,
 		},
diff --git a/internal/lsp/cache/snapshot.go b/internal/lsp/cache/snapshot.go
index 4dea9cf..2f65ad2 100644
--- a/internal/lsp/cache/snapshot.go
+++ b/internal/lsp/cache/snapshot.go
@@ -1153,7 +1153,7 @@
 		return m
 	}
 	for _, r := range mod.File.Replace {
-		// We may be replacing a module with a different version. not a path
+		// We may be replacing a module with a different version, not a path
 		// on disk.
 		if r.New.Version != "" {
 			continue
