# Controller stops working

**URL:** <https://forum.hello-robot.com/t/controller-stops-working/1208>\
**Category:** Ask\
**Created:** [January 27, 2025, 5:55pm UTC](https://forum.hello-robot.com/t/controller-stops-working/1208 "2025-01-27T17:55:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ris7188](https://avatars.discourse-cdn.com/v4/letter/r/b2d939/32.png) [@ris7188](https://forum.hello-robot.com/u/ris7188)\
**Post date:** [January 27, 2025, 5:55pm UTC](https://forum.hello-robot.com/t/controller-stops-working/1208/1 "2025-01-27T17:55:39Z")

</div>

My game controller stops working as soon as I run "stretch\_robot\_home.py " on the terminal. Why does this happens?

---

<div class="post-metadata">

**Author:** ![lamsey](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/lamsey/32/177_2.png) [@lamsey](https://forum.hello-robot.com/u/lamsey)\
**Post date:** [January 27, 2025, 8:23pm UTC](https://forum.hello-robot.com/t/controller-stops-working/1208/2 "2025-01-27T20:23:37Z")

</div>

A place to start is running `stretch_xbox_controller_teleop.py` in the terminal after homing the robot.

If your robot is new, it may be set up to automatically launch [stretch\_xbox\_controller\_teleop](https://github.com/hello-robot/stretch_body/blob/master/tools/bin/stretch_xbox_controller_teleop.py) on boot. Running `stretch_robot_home.py` might kill the teleop script when it obtains the `robot` object [file lock](https://github.com/hello-robot/stretch_body/blob/master/body/stretch_body/hello_utils.py#L658).

Some more troubleshooting steps at the bottom of this page: [Hello Robot! - Stretch Docs](https://docs.hello-robot.com/0.3/getting_started/hello_robot/#troubleshooting)

---

<div class="post-metadata">

**Author:** ![bshah](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/bshah/32/55_2.png) [@bshah](https://forum.hello-robot.com/u/bshah)\
**Post date:** [January 27, 2025, 8:43pm UTC](https://forum.hello-robot.com/t/controller-stops-working/1208/3 "2025-01-27T20:43:27Z")

</div>

@lamsey is correct (Thank you Matt!). Only one program can have access to the robot at a time, so there is a file lock that prevents programs from calling Stretch Body’s `Robot.startup()` if one is already running. With our latest OS, you’ll get an error message like `Another process is already using Stretch. Try running "stretch_free_robot_process.py"`.

Calling `stretch_robot_home.py` doesn’t automatically kill the teleop script; you have to manually kill it using the `stretch_free_robot_process.py` tool. After homing, you can launch gamepad teleop again. Also, with our latest OS, the tool has been renamed from stretch\_xbox\_controller\_teleop.py to `stretch_gamepad_controller.py` and uses a mix of position/velocity control to be more responsive than the older script was.
