Index: /trunk/ippTools/share/chiptool_queuerawexp.sql
===================================================================
--- /trunk/ippTools/share/chiptool_queuerawexp.sql	(revision 12231)
+++ /trunk/ippTools/share/chiptool_queuerawexp.sql	(revision 12232)
@@ -6,4 +6,5 @@
         exp_tag,        -- exp_tag
         0xdeadbeef,     -- guide_id
+        '%s',           -- workdir
         '%s',           -- label
         '%s',           -- recipe
Index: /trunk/ippTools/src/chipqueue.c
===================================================================
--- /trunk/ippTools/src/chipqueue.c	(revision 12231)
+++ /trunk/ippTools/src/chipqueue.c	(revision 12232)
@@ -28,4 +28,5 @@
 bool chipQueueExpTag(pxConfig *config,
                      psString exp_tag,
+                     psString workdir,
                      psString label,
                      psString recipe,
@@ -58,4 +59,5 @@
     // queue the exp
     if (!p_psDBRunQuery(config->dbh, queuerawexp_query,
+                workdir  ? workdir  : "NULL",
                 label    ? label    : "NULL",
                 recipe   ? recipe   : "NULL",
Index: /trunk/ippTools/src/chiptool.c
===================================================================
--- /trunk/ippTools/src/chiptool.c	(revision 12231)
+++ /trunk/ippTools/src/chiptool.c	(revision 12232)
@@ -158,4 +158,10 @@
 
     bool status = false;
+    psString workdir = psMetadataLookupStr(&status, config->args, "-set_workdir");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_workdir");
+        return false;
+    }
+
     psString label = psMetadataLookupStr(&status, config->args, "-set_label");
     if (!status) {
@@ -234,5 +240,5 @@
 
         // queue the exp
-        if (!chipQueueExpTag(config, exp_tag, label, recipe, expgroup, dvodb)) {
+        if (!chipQueueExpTag(config, exp_tag, workdir, label, recipe, expgroup, dvodb)) {
             if (!psDBRollback(config->dbh)) {
                 psError(PS_ERR_UNKNOWN, false, "database error");
Index: /trunk/ippTools/src/chiptool.h
===================================================================
--- /trunk/ippTools/src/chiptool.h	(revision 12231)
+++ /trunk/ippTools/src/chiptool.h	(revision 12232)
@@ -37,5 +37,11 @@
 pxConfig *chiptoolConfig(pxConfig *config, int argc, char **argv);
 
-bool chipQueueExpTag(pxConfig *config, psString exp_tag, psString label, psString recipe, psString expgroup, psString dvodb);
+bool chipQueueExpTag(pxConfig *config,
+                     psString exp_tag,
+                     psString workdir,
+                     psString label,
+                     psString recipe,
+                     psString expgroup,
+                     psString dvodb);
 
 #endif // CHIPTOOL_H
Index: /trunk/ippTools/src/chiptoolConfig.c
===================================================================
--- /trunk/ippTools/src/chiptoolConfig.c	(revision 12231)
+++ /trunk/ippTools/src/chiptoolConfig.c	(revision 12232)
@@ -85,4 +85,6 @@
     psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-object",  0,
             "search by exposure object", NULL);
+    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-set_workdir",  0,
+            "define workdir", NULL);
     psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-set_label",  0,
             "define label", NULL);
Index: /trunk/ippTools/src/regtool.c
===================================================================
--- /trunk/ippTools/src/regtool.c	(revision 12231)
+++ /trunk/ippTools/src/regtool.c	(revision 12232)
@@ -646,5 +646,5 @@
 
         // insert an entry into the chipPendingExp table
-        if (!chipQueueExpTag(config, exp_tag, NULL, NULL, NULL, NULL)) {
+        if (!chipQueueExpTag(config, exp_tag, NULL, NULL, NULL, NULL, NULL)) {
             // rollback
             if (!psDBRollback(config->dbh)) {
