diff --git a/build/gen.py b/build/gen.py
index 18f5779..ce2c104 100755
--- a/build/gen.py
+++ b/build/gen.py
@@ -849,6 +849,7 @@
               'src/gn/exec_process.cc',
               'src/gn/ffi/bridge.cc',
               'src/gn/ffi/scope.cc',
+              'src/gn/ffi/target.cc',
               'src/gn/ffi/value.cc',
               'src/gn/ffi/session.cc',
               'src/gn/filesystem_utils.cc',
diff --git a/src/gn/builder.cc b/src/gn/builder.cc
index aca80d7..c472cc4 100644
--- a/src/gn/builder.cc
+++ b/src/gn/builder.cc
@@ -279,6 +279,7 @@
       !AddDeps(record, target->all_dependent_configs(), err) ||
       !AddDeps(record, target->public_configs(), err) ||
       !AddGenDeps(record, target->gen_deps(), err) ||
+      !AddDeps(record, target->starlark_deps(), err) ||
       !AddPoolDep(record, target, err) ||
       !AddToolchainDep(record, target, err) ||
       !AddValidationDeps(record, target->validations(), err))
@@ -538,6 +539,7 @@
     if (!ResolveDeps(&target->public_deps(), err) ||
         !ResolveDeps(&target->private_deps(), err) ||
         !ResolveDeps(&target->data_deps(), err) ||
+        !ResolveDeps(&target->starlark_deps(), err) ||
         !ResolveValidationDeps(&target->validations(), err) ||
         !ResolveConfigs(&target->configs(), err) ||
         !ResolveConfigs(&target->all_dependent_configs(), err) ||
diff --git a/src/gn/ffi/target.cc b/src/gn/ffi/target.cc
new file mode 100644
index 0000000..e55f765
--- /dev/null
+++ b/src/gn/ffi/target.cc
@@ -0,0 +1,23 @@
+// Copyright 2026 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "gn/ffi/target.h"
+
+#include <string_view>
+
+#include "gn/label.h"
+#include "gn/label_ptr.h"
+#include "gn/source_dir.h"
+#include "gn/target.h"
+
+void register_dependency(Target& target,
+                         rust::Str package,
+                         rust::Str name,
+                         rust::Str toolchain_package,
+                         rust::Str toolchain_name) {
+  target.starlark_deps().push_back(LabelTargetPair(
+      Label(SourceDir(std::string_view(package)), std::string_view(name),
+            SourceDir(std::string_view(toolchain_package)),
+            std::string_view(toolchain_name))));
+}
diff --git a/src/gn/ffi/target.h b/src/gn/ffi/target.h
new file mode 100644
index 0000000..c55ac81
--- /dev/null
+++ b/src/gn/ffi/target.h
@@ -0,0 +1,20 @@
+// Copyright 2026 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef TOOLS_GN_FFI_TARGET_H_
+#define TOOLS_GN_FFI_TARGET_H_
+
+#include "cxx.h"
+
+class Target;
+
+// Enforces that `target` cannot be resolved until the target for the label has
+// been resolved.
+void register_dependency(Target& target,
+                         rust::Str package,
+                         rust::Str name,
+                         rust::Str toolchain_package,
+                         rust::Str toolchain_name);
+
+#endif  // TOOLS_GN_FFI_TARGET_H_
diff --git a/src/gn/target.h b/src/gn/target.h
index 19972b3..a4ff8fa 100644
--- a/src/gn/target.h
+++ b/src/gn/target.h
@@ -303,6 +303,13 @@
   const LabelTargetVector& gen_deps() const { return gen_deps_; }
   LabelTargetVector& gen_deps() { return gen_deps_; }
 
+  // Dependencies only known to starlark.
+  // The only purpose of this field is to ensure that all of a target's starlark
+  // dependencies are resolved before itself, ensuring that starlark rule
+  // implementations run in correct order.
+  const LabelTargetVector& starlark_deps() const { return starlark_deps_; }
+  LabelTargetVector& starlark_deps() { return starlark_deps_; }
+
   // List of configs that this class inherits settings from. Once a target is
   // resolved, this will also list all-dependent and public configs.
   const UniqueVector<LabelConfigPair>& configs() const { return configs_; }
@@ -580,6 +587,7 @@
   LabelTargetVector data_deps_;
   LabelTargetVector validations_;
   LabelTargetVector gen_deps_;
+  LabelTargetVector starlark_deps_;
 
   // See getters for more info.
   UniqueVector<LabelConfigPair> configs_;
