diff --git a/CHANGELOG.md b/CHANGELOG.md
index ba534987a7340185904c99ce5bd7ac03d823d4c3..b5a0e729877076c966b2ffa207122ea46032b2bf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ### Added ###
 
 * Official support for Python 3.13
+* Optional `realm` argument for `linkahead_admin.py set_user_password`
+  which defaults to `None`, i.e., the server's default realm.
 
 ### Changed ###
 
diff --git a/src/linkahead/utils/linkahead_admin.py b/src/linkahead/utils/linkahead_admin.py
index 77ca5fbfe0dc4c5c36956bc6f3ad463335332daa..ca5f3c01e0bbe95fe712761ec7f443ec88d406fd 100755
--- a/src/linkahead/utils/linkahead_admin.py
+++ b/src/linkahead/utils/linkahead_admin.py
@@ -42,6 +42,13 @@ __updated__ = '2018-12-11'
 
 
 def do_update_role(args):
+    """
+    Update the description of a role.
+
+    Allowed keyword arguments:
+    role_name: Name of the role to update
+    role_description: New description of the role
+    """
     try:
         admin._update_role(name=args.role_name, description=args.role_description)
     except (HTTPResourceNotFoundError, HTTPForbiddenError) as e:
@@ -139,7 +146,6 @@ def do_create_user(args):
     try:
         admin._insert_user(name=args.user_name,
                            email=args.user_email, password=password)
-
         if args.activate_user:
             do_activate_user(args)
     except (HTTPForbiddenError, HTTPClientError) as e:
@@ -169,7 +175,7 @@ def do_set_user_password(args):
     else:
         password = args.user_password
     try:
-        admin._update_user(name=args.user_name, password=password)
+        admin._update_user(name=args.user_name, password=password, realm=args.realm)
     except (HTTPResourceNotFoundError, HTTPForbiddenError, HTTPClientError) as e:
         print(f"Error: Cannot set password for user '{args.user_name}', "
               f"reason: '{e.msg}'")
@@ -457,6 +463,12 @@ USAGE
         metavar='USERNAME',
         dest="user_name",
         help="The name of the user who's password is to be set.")
+    subparser.add_argument(
+        metavar='REALM',
+        dest="realm",
+        nargs="?",
+        default=None,
+        help="The realm of the user who's password is to be set.")
     subparser.add_argument(
         metavar='PASSWORD',
         nargs="?",