diff --git a/y2023/control_loops/superstructure/superstructure.cc b/y2023/control_loops/superstructure/superstructure.cc
index 9d5d564..617464b 100644
--- a/y2023/control_loops/superstructure/superstructure.cc
+++ b/y2023/control_loops/superstructure/superstructure.cc
@@ -79,7 +79,7 @@
   EndEffectorState end_effector_state = end_effector_.RunIteration(
       timestamp,
       unsafe_goal != nullptr ? unsafe_goal->roller_goal() : RollerGoal::IDLE,
-      position->end_effector_cone_beam_break(),
+      false,
       position->end_effector_cube_beam_break(), &output_struct.roller_voltage);
 
   if (output) {
diff --git a/y2023/control_loops/superstructure/superstructure_lib_test.cc b/y2023/control_loops/superstructure/superstructure_lib_test.cc
index b94054d..f9b8548 100644
--- a/y2023/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2023/control_loops/superstructure/superstructure_lib_test.cc
@@ -244,18 +244,14 @@
     Position::Builder position_builder = builder.MakeBuilder<Position>();
     position_builder.add_arm(arm_offset);
     position_builder.add_wrist(wrist_offset);
-    position_builder.add_end_effector_cone_beam_break(
-        end_effector_cone_beam_break_);
     position_builder.add_end_effector_cube_beam_break(
         end_effector_cube_beam_break_);
+    // TODO(milind): put into our state
+    position_builder.add_cone_position(0.95);
     CHECK_EQ(builder.Send(position_builder.Finish()),
              aos::RawSender::Error::kOk);
   }
 
-  void set_end_effector_cone_beam_break(bool triggered) {
-    end_effector_cone_beam_break_ = triggered;
-  }
-
   void set_end_effector_cube_beam_break(bool triggered) {
     end_effector_cube_beam_break_ = triggered;
   }
@@ -268,7 +264,6 @@
   ArmSimulation arm_;
   AbsoluteEncoderSimulator wrist_;
 
-  bool end_effector_cone_beam_break_;
   bool end_effector_cube_beam_break_;
 
   ::aos::Sender<Position> superstructure_position_sender_;
@@ -569,7 +564,7 @@
  public:
   void SetBeambreak(GamePiece game_piece, bool status) {
     if (game_piece == GamePiece::kCone) {
-      superstructure_plant_.set_end_effector_cone_beam_break(status);
+      // TODO(milind): handle cone
     } else {
       superstructure_plant_.set_end_effector_cube_beam_break(status);
     }
@@ -807,8 +802,9 @@
   VerifyNearGoal();
 }
 
+// TODO(milind): add cone
 INSTANTIATE_TEST_SUITE_P(EndEffectorGoal, SuperstructureBeambreakTest,
-                         ::testing::Values(GamePiece::kCone, GamePiece::kCube));
+                         ::testing::Values(GamePiece::kCube));
 
 }  // namespace testing
 }  // namespace superstructure
diff --git a/y2023/control_loops/superstructure/superstructure_position.fbs b/y2023/control_loops/superstructure/superstructure_position.fbs
index 927fe10..cf8a843 100644
--- a/y2023/control_loops/superstructure/superstructure_position.fbs
+++ b/y2023/control_loops/superstructure/superstructure_position.fbs
@@ -26,7 +26,7 @@
     wrist:frc971.AbsolutePosition (id: 1);
 
     // If this is true, the cone beam break is triggered.
-    end_effector_cone_beam_break:bool (id: 2);
+    cone_position:double (id: 2);
 
     // If this is true, the cube beam break is triggered.
     end_effector_cube_beam_break:bool (id: 3);
