diff --git a/python-libs/poulpe/bin/result-compare b/python-libs/poulpe/bin/result-compare
index f014a23a05ad8bd28eaa7c23970b8a50e1b5ca41_cHl0aG9uLWxpYnMvcG91bHBlL2Jpbi9yZXN1bHQtY29tcGFyZQ==..f0d7e543095ffe852d7c95f0d9d8c0a1bd02acf1_cHl0aG9uLWxpYnMvcG91bHBlL2Jpbi9yZXN1bHQtY29tcGFyZQ== 100755
--- a/python-libs/poulpe/bin/result-compare
+++ b/python-libs/poulpe/bin/result-compare
@@ -1,4 +1,2 @@
 #!/usr/bin/env python3
-#
-# compare many result together, use it with `result-search --content-as-json`
 
@@ -4,4 +2,3 @@
 
-import argparse
 import collections
 import json
@@ -6,6 +3,7 @@
 import collections
 import json
-import sys
+
+import click
 
 HEADERS_KEYS = [
     ('data-env-vars', 'name'),
@@ -77,8 +75,8 @@
             print(f"{key}: {median:6.6f} {display}")
 
 
-def _parsers():
-    cmd_parser = argparse.ArgumentParser(prog='result-compare')
-    return cmd_parser
-
+@click.command()
+@click.argument("file", type=click.File(), default="-")
+def result_compare(file):
+    """Compare results together.
 
@@ -84,7 +82,5 @@
 
-def main(args):
-    parser = _parsers()
-    param = parser.parse_args(args)
-    all_results = json.load(sys.stdin)
+    `poulpe result-search --content-as-json | poulpe result-compare`"""
+    all_results = json.load(file)
     results = dispatch_results(all_results)
     display_results(results)
@@ -89,6 +85,5 @@
     results = dispatch_results(all_results)
     display_results(results)
-    return 0
 
 
 if __name__ == "__main__":
@@ -92,6 +87,4 @@
 
 
 if __name__ == "__main__":
-    ret = main(sys.argv[1:])
-    assert ret is not None
-    sys.exit(ret)
+    result_compare()