diff --git a/rna-seq.nf b/rna-seq.nf
index 7698d475068244d24738a57c77b065b4b9380b71..59f20390871791c60e4ecc54b0b9e4dd00056e40 100644
--- a/rna-seq.nf
+++ b/rna-seq.nf
@@ -1418,6 +1418,12 @@ process uploadExecutionRun {
     hostname > ${repRID}.uploadExecutionRun.log
     ulimit -a >> ${repRID}.uploadExecutionRun.log
 
+    # link credential file for authentication
+    echo -e "LOG: linking deriva credentials" >> ${repRID}.uploadExecutionRun.log
+    mkdir -p ~/.deriva
+    ln -sf `readlink -e credential.json` ~/.deriva/credential.json
+    echo -e "LOG: linked" >> ${repRID}.uploadExecutionRun.log
+
     echo LOG: searching for workflow RID - BICF mRNA ${workflow.manifest.version} >> ${repRID}.uploadExecutionRun.log
     workflow=\$(curl -s https://${source}/ermrest/catalog/2/entity/RNASeq:Workflow/Name=BICF%20mRNA%20Replicate/Version=${workflow.manifest.version})
     workflow=\$(echo \${workflow} | grep -o '\\"RID\\":\\".*\\",\\"RCT')
@@ -2127,6 +2133,12 @@ process uploadQC {
     hostname > ${repRID}.uploadQC.log
     ulimit -a >> ${repRID}.uploadQC.log
 
+    # link credential file for authentication
+    echo -e "LOG: linking deriva credentials" >> ${repRID}.uploadQC.log
+    mkdir -p ~/.deriva
+    ln -sf `readlink -e credential.json` ~/.deriva/credential.json
+    echo -e "LOG: linked" >> ${repRID}.uploadQC.log
+
     if [ "${ends}" == "pe" ]
     then
       end="Paired End"
@@ -2623,6 +2635,12 @@ process uploadQC_fail {
     hostname > ${repRID}.uploadQC.log
     ulimit -a >> ${repRID}.uploadQC.log
 
+    # link credential file for authentication
+    echo -e "LOG: linking deriva credentials" >> ${repRID}.uploadQC.log
+    mkdir -p ~/.deriva
+    ln -sf `readlink -e credential.json` ~/.deriva/credential.json
+    echo -e "LOG: linked" >> ${repRID}.uploadQC.log
+
     cookie=\$(cat credential.json | grep -A 1 '\\"${source}\\": {' | grep -o '\\"cookie\\": \\".*\\"')
     cookie=\${cookie:11:-1}