diff --git a/tensorflow/core/ops/compat/ops_history_v2/TPUReshardVariables.pbtxt b/tensorflow/core/ops/compat/ops_history_v2/TPUReshardVariables.pbtxt
new file mode 100644
index 00000000000..fecd05d06eb
--- /dev/null
+++ b/tensorflow/core/ops/compat/ops_history_v2/TPUReshardVariables.pbtxt
@@ -0,0 +1,22 @@
+op {
+  name: "TPUReshardVariables"
+  input_arg {
+    name: "vars"
+    type: DT_RESOURCE
+    number_attr: "N"
+  }
+  input_arg {
+    name: "new_format_key"
+    type: DT_STRING
+  }
+  input_arg {
+    name: "format_state_var"
+    type: DT_RESOURCE
+  }
+  attr {
+    name: "N"
+    type: "int"
+    has_minimum: true
+  }
+  is_stateful: true
+}
diff --git a/tensorflow/core/ops/ops.pbtxt b/tensorflow/core/ops/ops.pbtxt
index d892e75263f..69f1f47b3c0 100644
--- a/tensorflow/core/ops/ops.pbtxt
+++ b/tensorflow/core/ops/ops.pbtxt
@@ -54108,6 +54108,28 @@ op {
     type: "type"
   }
 }
+op {
+  name: "TPUReshardVariables"
+  input_arg {
+    name: "vars"
+    type: DT_RESOURCE
+    number_attr: "N"
+  }
+  input_arg {
+    name: "new_format_key"
+    type: DT_STRING
+  }
+  input_arg {
+    name: "format_state_var"
+    type: DT_RESOURCE
+  }
+  attr {
+    name: "N"
+    type: "int"
+    has_minimum: true
+  }
+  is_stateful: true
+}
 op {
   name: "TakeDataset"
   input_arg {