diff --git a/internal/parsers/keyword/parser.go b/internal/parsers/keyword/parser.go
index d376977..9671a78 100644
--- a/internal/parsers/keyword/parser.go
+++ b/internal/parsers/keyword/parser.go
@@ -57,13 +57,13 @@ func (*Keyword) Run(results []stage.ExecutorResult, confAny any) (
 		return nil, true, err
 	}
 	var res []stage.ParserResult
-	end := false
+	forceQuit := false
 	for _, result := range results {
 		tmp, matched := Parse(result, *conf)
 		if matched && conf.EndOnMatch {
-			end = true
+			forceQuit = true
 		}
 		res = append(res, tmp)
 	}
-	return res, end, nil
+	return res, forceQuit, nil
 }
diff --git a/internal/parsers/resultstatus/parser.go b/internal/parsers/resultstatus/parser.go
index b023a76..3b1aad3 100644
--- a/internal/parsers/resultstatus/parser.go
+++ b/internal/parsers/resultstatus/parser.go
@@ -19,12 +19,12 @@ func (*ResultStatus) Run(results []stage.ExecutorResult, confAny any) (
 	if err != nil {
 		return nil, true, err
 	}
-	end := false
+	forceQuit := false
 	var res []stage.ParserResult
 	for _, result := range results {
 		comment := ""
 		if result.Status != stage.Status(envexec.StatusAccepted) {
-			end = true
+			forceQuit = true
 			comment = fmt.Sprintf(
 				"Unexpected executor status: %s.", result.Status,
 			)
@@ -34,5 +34,5 @@ func (*ResultStatus) Run(results []stage.ExecutorResult, confAny any) (
 			Comment: comment,
 		})
 	}
-	return res, end, nil
+	return res, forceQuit, nil
 }
diff --git a/internal/stage/model.go b/internal/stage/model.go
index 1b052d8..cb33462 100644
--- a/internal/stage/model.go
+++ b/internal/stage/model.go
@@ -164,6 +164,7 @@ type ParserResult struct {
 }
 
 type StageResult struct {
-	Name    string         `json:"name"`
-	Results []ParserResult `json:"results"`
+	Name      string         `json:"name"`
+	Results   []ParserResult `json:"results"`
+	ForceQuit bool           `json:"force_quit"`
 }
diff --git a/internal/stage/run.go b/internal/stage/run.go
index 6c74758..670f666 100644
--- a/internal/stage/run.go
+++ b/internal/stage/run.go
@@ -26,17 +26,18 @@ func Run(stages []Stage) []StageResult {
 			slog.Error("parser not found", "name", stage.ParserName)
 			break
 		}
-		parserResults, end, err := parser.Run(executorResults, stage.ParserConf)
+		parserResults, forceQuit, err := parser.Run(executorResults, stage.ParserConf)
 		if err != nil {
 			slog.Error("parser run error", "name", stage.ExecutorName, "error", err)
 			break
 		}
 		slog.Debug("parser run done", "results", parserResults)
 		stageResults = append(stageResults, StageResult{
-			Name:    stage.Name,
-			Results: parserResults,
+			Name:      stage.Name,
+			Results:   parserResults,
+			ForceQuit: forceQuit,
 		})
-		if end {
+		if forceQuit {
 			break
 		}
 	}