diff --git a/recipes/bazel_roller.proto b/recipes/bazel_roller.proto
index 4b365d6..45e1ab2 100644
--- a/recipes/bazel_roller.proto
+++ b/recipes/bazel_roller.proto
@@ -30,25 +30,6 @@
   // Auto roller module options.
   recipe_modules.fuchsia.auto_roller.Options auto_roller_options = 3;
 
-  // The path of the WORKSPACE file to update. If not provided the recipe will
-  // look for a top-level WORKSPACE or MODULE.bazel file. If provided and is a
-  // directory, looks for those files in that directory.
-  // DEPRECATED.
-  string workspace_path = 4;
-
-  // Name for project to be rolled. By default will extract from WORKSPACE.
-  string project_name = 5;
-  // DEPRECATED.
-
-  // Repository referred to by the WORKSPACE file.
-  // DEPRECATED.
-  string project_remote = 6;
-
-  // Branch to get latest from when new_revision is None and no buildbucket
-  // trigger. Default: "main".
-  // DEPRECATED.
-  string project_branch = 7;
-
   // Forge the author so rolls of single commits are attributed to the original
   // commit author.
   bool forge_author = 8;
diff --git a/recipes/bazel_roller.py b/recipes/bazel_roller.py
index 270a520..0ae0ea6 100644
--- a/recipes/bazel_roller.py
+++ b/recipes/bazel_roller.py
@@ -71,16 +71,6 @@
         props.checkout_options
     )
 
-    if not props.git_repositories:
-        props.git_repositories.append(
-            GitRepository(
-                workspace_path=props.workspace_path,
-                name=props.project_name,
-                remote=props.project_remote,
-                branch=props.project_branch,
-            )
-        )
-
     assert len(props.git_repositories) == 1
 
     rolls = api.bazel_roll.update_git_repository(
@@ -118,8 +108,9 @@
     def trigger(url, **kwargs):
         return api.checkout.ci_test_data(git_repo=_url(url), **kwargs)
 
-    def properties(**kwargs):
+    def properties(*git_repos, **kwargs):
         props = InputProperties(**kwargs)
+        props.git_repositories.extend(git_repos)
         props.checkout_options.CopyFrom(api.checkout.git_options())
         props.forge_author = True
         props.auto_roller_options.CopyFrom(
@@ -136,7 +127,7 @@
 
     yield api.test(
         'success',
-        properties(project_remote=_url('pigweed/pigweed')),
+        properties(GitRepository(remote=_url('pigweed/pigweed'))),
         api.roll_util.properties(commit_divider='--divider--'),
         trigger('pigweed/pigweed'),
         api.roll_util.forward_roll(),
