diff --git a/thalerj/README.md b/thalerj/README.md
index fb3bbbd..9f68e3b 100644
--- a/thalerj/README.md
+++ b/thalerj/README.md
@@ -10,8 +10,10 @@
 These are passed in with the following options:
 - `-H`: The hostname or IP for the BMC
 - `-U`: The username
+One of the password options:
 - `-P`: The password, provided in-line
-- `-A`: Prompt for a password. Can be used in place of `-P`.
+- `-A`: Prompt for a password
+- `-E`: Take the password from envvar OPENBMCTOOL_PASSWORD
 
 ## Enabling and Disabling Local BMC User Accounts
 
diff --git a/thalerj/openbmctool.py b/thalerj/openbmctool.py
index c2bce07..70a1296 100755
--- a/thalerj/openbmctool.py
+++ b/thalerj/openbmctool.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python3
 """
- Copyright 2017 IBM Corporation
+ Copyright 2017,2019 IBM Corporation
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
@@ -3678,6 +3678,7 @@
     group = parser.add_mutually_exclusive_group()
     group.add_argument("-A", "--askpw", action='store_true', help='prompt for password')
     group.add_argument("-P", "--PW", help='Provide the password in-line')
+    group.add_argument("-E", "--PWenvvar", action='store_true', help='Get password from envvar OPENBMCTOOL_PASSWORD')
     parser.add_argument('-j', '--json', action='store_true', help='output json data only')
     parser.add_argument('-t', '--policyTableLoc', help='The location of the policy table to parse alerts')
     parser.add_argument('-c', '--CerFormat', action='store_true', help=argparse.SUPPRESS)
@@ -4210,7 +4211,7 @@
          main function for running the command line utility as a sub application
     """
     global toolVersion
-    toolVersion = "1.13"
+    toolVersion = "1.14"
     parser = createCommandParser()
     args = parser.parse_args(argv)
 
@@ -4232,6 +4233,8 @@
                 pw = getpass.getpass()
             elif(args.PW is not None):
                 pw = args.PW
+            elif(args.PWenvvar):
+                pw = os.environ['OPENBMCTOOL_PASSWORD']
             else:
                 print("You must specify a password")
                 sys.exit()
@@ -4261,7 +4264,9 @@
                 print("loginTime: " + str(logintimeStop - logintimeStart))
                 print("command Time: " + str(commandTimeStop - commandTimeStart))
         else:
-            print("usage: openbmctool.py [-h] -H HOST -U USER [-A | -P PW] [-j]\n" +
+            print("usage:\n"
+                  "  OPENBMCTOOL_PASSWORD=secret  # if using -E\n"
+                  "  openbmctool.py [-h] -H HOST -U USER {-A | -P PW | -E} [-j]\n" +
                       "\t[-t POLICYTABLELOC] [-V]\n" +
                       "\t{fru,sensors,sel,chassis,collect_service_data, \
                           health_check,dump,bmc,mc,gardclear,firmware,logging}\n" +
