diff --git a/README.rst b/README.rst
index 5508e1483f32e94f12e8c0b69989ee8d4fdf4c9f..ce5192fd373ec92acccec2b625ccff6e997006b0 100644
--- a/README.rst
+++ b/README.rst
@@ -19,7 +19,8 @@ Usage
 
 .. code:: shell
 
-  usage: mnpw [-h] [-v] [-V] [-d] [-q] [-w] [-u] [-e] [-t TIMEOUT] command [arguments ...]
+  usage: mnpw [-h] [-v] [-V] [-c] [-d] [-q] [-w] [-u] [-e] [-t TIMEOUT]
+              command [arguments ...]
 
   My Nagios plugin wrapper.
 
@@ -31,6 +32,8 @@ Usage
     -h, --help            show this help message and exit
     -v, --verbose         Verbose output
     -V, --version         show program's version number and exit
+    -c, --chain           Echo the check output and exit with the same exit
+                          code, allow for chaining with plugin handlers.
     -d, --dry-run         Dry-run, don't notify
     -q, --quiet, --silent
                           No output, except for errors.
diff --git a/mnpw/__init__.py b/mnpw/__init__.py
index 9150be386bb4c5ae43e2ff286ac14cbef9671515..c2f25ed22537a8c63f7f54dbfaec53a3cdb32917 100644
--- a/mnpw/__init__.py
+++ b/mnpw/__init__.py
@@ -5,6 +5,7 @@ __version__ = "0.1.2"
 import argparse
 import logging
 import socket
+import sys
 
 import requests
 
@@ -41,6 +42,12 @@ def main():  # noqa: MC0001
         action="version",
         version=f"mnpw version {__version__}",
     )
+    parser.add_argument(
+        "-c",
+        "--chain",
+        help="Echo the check output and exit with the same exit code, allow for chaining with plugin handlers.",  # noqa: E501
+        action="store_true",
+    )
     parser.add_argument(
         "-d", "--dry-run", help="Dry-run, don't notify", action="store_true"
     )
@@ -77,6 +84,7 @@ def main():  # noqa: MC0001
         default=nagios.DEFAULT_TIMEOUT,
     )
     args = parser.parse_args()
+
     log_level = logging.WARNING  # Default level.
     if args.verbose and args.quiet:
         parser.error("Can't specify verbose and quiet output together.")
@@ -115,6 +123,10 @@ def main():  # noqa: MC0001
         if args.errors:
             notify(f"Check {args.command} on {HOSTNAME} status is invalid.")
 
+    if args.chain:
+        print(check._stdout)  # pylint: disable=protected-access
+        sys.exit(check.ExitCode)
+
 
 if __name__ == "__main__":
     main()