diff --git a/CHANGELOG.md b/CHANGELOG.md
index ad3d30fa17af956dbf706942fad1074ce3df919b..5eda114e5716cdfab98aa03a4a8a04514ae68430 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,8 @@ that users understand how the changes affect the new version.
 
 version 5.0.0-dev
 ---------------------------
++ Update CPAT to version 3.0.4.
+  + Changed the `outFilePath` input to `outputPrefix`.
 + Survivor: Change integer to string literal in boolean parameters.
 + Samtools: Add mkdir line to `Fastq` task.
 + Add new parameters from CCS version 6.0.0 and add two new outputs:
diff --git a/CPAT.wdl b/CPAT.wdl
index 4a6d44786a70570fdcdefe0228242e61c6d1fd22..972613cfdfa24806f98de88c2d48ce97ef81be7d 100644
--- a/CPAT.wdl
+++ b/CPAT.wdl
@@ -23,7 +23,7 @@ version 1.0
 task CPAT {
     input {
         File gene
-        String outFilePath
+        String outputPrefix
         File hex
         File logitModel
 
@@ -36,7 +36,7 @@ task CPAT {
 
         String memory = "4G"
         Int timeMinutes = 10 + ceil(size(gene, "G") * 30)
-        String dockerImage = "biocontainers/cpat:v1.2.4_cv1"
+        String dockerImage = "biocontainers/cpat:3.0.4--py39hcbe4a3b_0"
     }
 
     # Some WDL magic in the command section to properly output the start and
@@ -45,10 +45,10 @@ task CPAT {
     # to non-optionals.
     command {
         set -e
-        mkdir -p "$(dirname ~{outFilePath})"
+        mkdir -p "$(dirname ~{outputPrefix})"
         cpat.py \
         --gene ~{gene} \
-        --outfile ~{outFilePath} \
+        --outfile ~{outputPrefix} \
         --hex ~{hex} \
         --logitModel ~{logitModel} \
         ~{"--ref " + referenceGenome} \
@@ -57,7 +57,11 @@ task CPAT {
     }
 
     output {
-        File outFile = outFilePath
+        File orfSeqs = "~{outputPrefix}.ORF_seqs.fa"
+        File orfProb = "~{outputPrefix}.ORF_prob.tsv"
+        File orfProbBest = "~{outputPrefix}.ORF_prob.best.tsv"
+        File noOrf = "~{outputPrefix}.no_ORF.txt"
+        File rScript = "~{outputPrefix}.r"
     }
 
     runtime {
@@ -69,7 +73,7 @@ task CPAT {
     parameter_meta {
         # inputs
         gene: {description: "Equivalent to CPAT's `--gene` option.", category: "required"}
-        outFilePath: {description: "Equivalent to CPAT's `--outfile` option.", category: "required"}
+        outputPrefix: {description: "Equivalent to CPAT's `--outfile` option.", category: "required"}
         hex: {description: "Equivalent to CPAT's `--hex` option.", category: "required"}
         logitModel: {description: "Equivalent to CPAT's `--logitModel` option.", category: "required"}
         referenceGenome: {description: "Equivalent to CPAT's `--ref` option.", category: "advanced"}
@@ -79,9 +83,6 @@ task CPAT {
         memory: {description: "The amount of memory available to the job.", category: "advanced"}
         timeMinutes: {description: "The maximum amount of time the job will run in minutes.", category: "advanced"}
         dockerImage: {description: "The docker image used for this task. Changing this may result in errors which the developers may choose not to address.", category: "advanced"}
-
-        # outputs
-        outFile: {description: "CPAT logistic regression model."}
     }
 }