diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConfiguration.java
index 893bc77..cf1812c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConfiguration.java
@@ -255,6 +255,10 @@
     return options.protoToolchainForJ2objc;
   }
 
+  @StarlarkConfigurationField(
+      name = "proto_toolchain_for_java_lite",
+      doc = "Label for the java lite proto toolchains.",
+      defaultLabel = ProtoConstants.DEFAULT_PROTOC_LABEL)
   public Label protoToolchainForJavaLite() {
     return options.protoToolchainForJavaLite;
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConstants.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConstants.java
index 419756c..d039c12 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConstants.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoConstants.java
@@ -19,6 +19,9 @@
   /** Default label for proto compiler. */
   static final String DEFAULT_PROTOC_LABEL =  "@com_google_protobuf//:protoc";
 
+  /** Default label for java lite proto toolchains. */
+  static final String DEFAULT_JAVA_LITE_PROTO_LABEL = "@com_google_protobuf//:javalite_toolchain";
+
   /**
    * This constant is used in ProtoCompileActionBuilder to generate an error message that's
    * displayed when a strict proto deps violation occurs.
diff --git a/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl b/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl
index 47b02b4..786b33b 100644
--- a/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl
+++ b/src/main/starlark/builtins_bzl/common/java/java_semantics.bzl
@@ -52,7 +52,6 @@
 semantics = struct(
     COLLECT_SRCS_FROM_PROTO_LIBRARY = False,
     JAVA_TOOLCHAIN_LABEL = "@bazel_tools//tools/jdk:current_java_toolchain",
-    JAVA_LITE_PROTO_TOOLCHAIN_LABEL = "@//tools/proto/toolchains:javalite",
     JAVA_PLUGINS_FLAG_ALIAS_LABEL = "@bazel_tools//tools/jdk:java_plugins_flag_alias",
     PROGUARD_ALLOWLISTER_LABEL = "@bazel_tools//tools/jdk:proguard_whitelister",
     EXTRA_SRCS_TYPES = [],
@@ -87,4 +86,4 @@
     postprocess_plugin = _postprocess_plugin,
     check_proto_registry_collision = _check_proto_registry_collision,
     get_coverage_runner = _get_coverage_runner,
-)
\ No newline at end of file
+)
diff --git a/src/main/starlark/builtins_bzl/common/java/proto/java_lite_proto_library.bzl b/src/main/starlark/builtins_bzl/common/java/proto/java_lite_proto_library.bzl
index a10d25e..a4320a1 100644
--- a/src/main/starlark/builtins_bzl/common/java/proto/java_lite_proto_library.bzl
+++ b/src/main/starlark/builtins_bzl/common/java/proto/java_lite_proto_library.bzl
@@ -109,7 +109,7 @@
     attr_aspects = ["deps"],
     attrs = {
         PROTO_TOOLCHAIN_ATTR: attr.label(
-            default = Label(semantics.JAVA_LITE_PROTO_TOOLCHAIN_LABEL),
+            default = configuration_field(fragment = "proto", name = "proto_toolchain_for_java_lite"),
         ),
         JAVA_TOOLCHAIN_ATTR: attr.label(
             default = Label(semantics.JAVA_TOOLCHAIN_LABEL),
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java
index feecc89..23ba12e 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java
@@ -57,7 +57,10 @@
 
   @Before
   public final void setUpMocks() throws Exception {
-    useConfiguration("--proto_compiler=//proto:compiler");
+    useConfiguration(
+        "--proto_compiler=//proto:compiler",
+        "--proto_toolchain_for_javalite=//tools/proto/toolchains:javalite");
+
     scratch.file("proto/BUILD", "licenses(['notice'])", "exports_files(['compiler'])");
 
     mockToolchains();
@@ -265,7 +268,10 @@
         "    mnemonics = ['Javac'],",
         "    extra_actions = [':xa'])");
 
-    useConfiguration("--experimental_action_listener=//xa:al", "--proto_compiler=//proto:compiler");
+    useConfiguration(
+        "--experimental_action_listener=//xa:al",
+        "--proto_compiler=//proto:compiler",
+        "--proto_toolchain_for_javalite=//tools/proto/toolchains:javalite");
     ConfiguredTarget ct = getConfiguredTarget("//x:lite_pb2");
     NestedSet<DerivedArtifact> artifacts =
         ct.getProvider(ExtraActionArtifactsProvider.class).getTransitiveExtraActionArtifacts();
