diff --git a/BUILD b/BUILD
index 61e1f54..bd46d6c 100644
--- a/BUILD
+++ b/BUILD
@@ -50,7 +50,7 @@
     srcs = glob(["src/main/java/**/*.java"]),
     manifest_entries = [
         "Gerrit-PluginName: batch",
-        "Gerrit-ApiVersion: 3.3.0-SNAPSHOT",
+        "Gerrit-ApiVersion: 3.4.0-SNAPSHOT",
         "Implementation-Title: Batch Plugin",
         "Implementation-URL: https://gerrit-review.googlesource.com/#/admin/projects/plugins/batch",
         "Gerrit-Module: com.googlesource.gerrit.plugins.batch.Module",
diff --git a/WORKSPACE b/WORKSPACE
index f269e80..d17aa23 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -16,7 +16,7 @@
 #gerrit_api()
 
 # Load snapshot Plugin API
-gerrit_api(version = "3.3.0-SNAPSHOT")
+gerrit_api(version = "3.4.0-SNAPSHOT")
 
 load("//:external_plugin_deps.bzl", "external_plugin_deps")
 
diff --git a/pom.xml b/pom.xml
index c66f0cd..aabad3d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
   <groupId>com.googlesource.gerrit.plugins.batch</groupId>
   <artifactId>batch</artifactId>
   <packaging>jar</packaging>
-  <version>3.3.0-SNAPSHOT</version>
+  <version>3.4.0-SNAPSHOT</version>
   <name>batch</name>
 
   <properties>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/ListCommand.java b/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/ListCommand.java
index 6f78ecb..42edd43 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/ListCommand.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/ListCommand.java
@@ -15,6 +15,7 @@
 package com.googlesource.gerrit.plugins.batch.ssh;
 
 import com.google.gerrit.server.AccessPath;
+import com.google.gerrit.server.DynamicOptions;
 import com.google.gerrit.sshd.BaseCommand;
 import com.google.gerrit.sshd.CommandMetaData;
 import com.google.inject.Inject;
@@ -37,8 +38,11 @@
         new CommandRunnable() {
           @Override
           public void run() throws Exception {
-            parseCommandLine(impl);
-            impl.display(out);
+            try (DynamicOptions pluginOptions =
+                new DynamicOptions(ListCommand.this, injector, dynamicBeans)) {
+              parseCommandLine(impl, pluginOptions);
+              impl.display(out);
+            }
           }
         },
         AccessPath.SSH_COMMAND);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/MergeChangeCommand.java b/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/MergeChangeCommand.java
index 10d8b65..fd982af 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/MergeChangeCommand.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/MergeChangeCommand.java
@@ -88,7 +88,6 @@
 
   @Override
   public void run() throws Exception {
-    parseCommandLine();
     Batch batch = new Batch(user.getAccountId());
     String err = null;
     try {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/SubmitCommand.java b/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/SubmitCommand.java
index a753c36..e9a477b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/SubmitCommand.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/batch/ssh/SubmitCommand.java
@@ -39,7 +39,6 @@
 
   @Override
   public void run() throws Exception {
-    parseCommandLine();
     try {
       Batch batch = impl.submit(batchId);
       out.write((OutputFormat.JSON.newGson().toJson(batch) + "\n").getBytes(ENC));
