diff --git a/misc/userscripts/qute-pass b/misc/userscripts/qute-pass
index 4c6b1a17b..5bab9db93 100755
--- a/misc/userscripts/qute-pass
+++ b/misc/userscripts/qute-pass
@@ -17,20 +17,21 @@
 # You should have received a copy of the GNU General Public License
 # along with qutebrowser.  If not, see <http://www.gnu.org/licenses/>.
 
+"""
+Insert login information using pass and a dmenu-compatible application (e.g. dmenu, rofi -dmenu, ...). A short
+demonstration can be seen here: https://i.imgur.com/KN3XuZP.gif.
+"""
 
-# Insert login information using pass and a dmenu-provider (e.g. dmenu, rofi -dmenu, ...).
-# A short demonstration can be seen here: https://i.imgur.com/KN3XuZP.gif.
-#
-# The domain of the site has to appear as a segment in the pass path, for example: "github.com/cryzed" or
-# "websites/github.com". How the username and password are determined is freely configurable using the CLI arguments.
-# The login information is inserted by emulating key events using qutebrowser's fake-key command in this manner:
-# [USERNAME]<Tab>[PASSWORD], which is compatible with almost all login forms.
-#
-# Dependencies: tldextract (Python 3 module), pass
-# For issues and feedback please use: https://github.com/cryzed/qutebrowser-userscripts.
-#
-# WARNING: The login details are viewable as plaintext in qutebrowser's debug log (qute://log) and might be shared if
-# you decide to submit a crash report!
+USAGE = """The domain of the site has to appear as a segment in the pass path, for example: "github.com/cryzed" or
+"websites/github.com". How the username and password are determined is freely configurable using the CLI arguments. The
+login information is inserted by emulating key events using qutebrowser's fake-key command in this manner:
+[USERNAME]<Tab>[PASSWORD], which is compatible with almost all login forms."""
+
+EPILOG = """Dependencies: tldextract (Python 3 module), pass.
+For issues and feedback please use: https://github.com/cryzed/qutebrowser-userscripts.
+
+WARNING: The login details are viewable as plaintext in qutebrowser's debug log (qute://log) and might be shared if
+you decide to submit a crash report!"""
 
 import argparse
 import enum
@@ -44,15 +45,7 @@ import sys
 
 import tldextract
 
-argument_parser = argparse.ArgumentParser(description=(
-    'Insert login information using pass and a dmenu-provider (e.g. dmenu, rofi -dmenu, ...). A short '
-    'demonstration can be seen here: https://i.imgur.com/KN3XuZP.gif.'), usage=(
-    'The domain of the site has to appear as a segment in the pass path, for example: "github.com/cryzed" or '
-    '"websites/github.com". How the username and password are determined is freely configurable using the CLI '
-    "arguments. The login information is inserted by emulating key events using qutebrowser's fake-key command in this "
-    'manner: [USERNAME]<Tab>[PASSWORD], which is compatible with almost all login forms.'), epilog=(
-    "WARNING: The login details are viewable as plaintext in qutebrowser's debug log (qute://log) and might be shared "
-    'if you decide to submit a crash report!'))
+argument_parser = argparse.ArgumentParser(description=__doc__, usage=USAGE, epilog=EPILOG)
 argument_parser.add_argument('url', nargs='?', default=os.getenv('QUTE_URL'))
 argument_parser.add_argument('--password-store', '-p', default=os.path.expanduser('~/.password-store'),
                              help='Path to your pass password-store')