diff --git a/pulsar/client/setup_handler.py b/pulsar/client/setup_handler.py
index 2cc9d1afcc4ee38f8ba84ae7e3f481117f3eb317..007421700d8e43ffe8c6ce0d5184b0d1e5c98f81 100644
--- a/pulsar/client/setup_handler.py
+++ b/pulsar/client/setup_handler.py
@@ -1,6 +1,8 @@
 import os
 from .util import filter_destination_params
 
+from pulsar import __version__ as pulsar_version
+
 REMOTE_SYSTEM_PROPERTY_PREFIX = "remote_property_"
 
 
@@ -93,6 +95,7 @@ def build_job_config(job_id, job_directory, system_properties={}, tool_id=None,
         "path_separator": sep,
         "job_id": job_id,
         "system_properties": system_properties,
+        "pulsar_version": pulsar_version,
     }
     if tool_id:
         job_config["tool_id"] = tool_id
diff --git a/pulsar/manager_endpoint_util.py b/pulsar/manager_endpoint_util.py
index b48b9c1788f07eb2f8a22eec6351afc24c92be04..b0df90eaf089924b3bc232d87d3943f056c5746e 100644
--- a/pulsar/manager_endpoint_util.py
+++ b/pulsar/manager_endpoint_util.py
@@ -1,6 +1,7 @@
 """ Composite actions over managers shared between HTTP endpoint (routes.py)
 and message queue.
 """
+from pulsar import __version__ as pulsar_version
 from pulsar.client.setup_handler import build_job_config
 from pulsar.managers import status
 from pulsar.managers import PULSAR_UNKNOWN_RETURN_CODE
@@ -43,6 +44,7 @@ def __job_complete_dict(complete_status, manager, job_id):
         metadata_directory_contents=job_directory.metadata_directory_contents(),
         outputs_directory_contents=job_directory.outputs_directory_contents(),
         system_properties=manager.system_properties(),
+        pulsar_version=pulsar_version,
     )
     return as_dict
 
@@ -98,4 +100,5 @@ def setup_job(manager, job_id, tool_id, tool_version):
         system_properties=manager.system_properties(),
         tool_id=tool_id,
         tool_version=tool_version,
+        pulsar_version=pulsar_version,
     )