Stretch4 Web Teleop No Parallel Gripper Support

The web teleop won’t launch with the parallel gripper (eoa_wrist_dw4_tool_pg4). Is PG4 support planned?

I tried running ./launch_interface.sh:

hello-robot@ava:~/ament_ws/src/stretch4_web_teleop$ ./launch_interface.sh 

#############################################
STRETCH VOICE CONTROL (SVC)
#############################################

web_teleop logs total size: 300K in /home/hello-robot/stretch_user/log/web_teleop (not auto-purged; purge old run folders manually if desired)

#############################################
LAUNCHING WEB TELEOP
#############################################
Feature Flags:
  FEATURE_VOICE_CONTROL_INTERFACE=0
  FEATURE_VOICE_INPUT_RECORDING=0
Validating web teleop installation...
✓ Installation validation passed

Setup environment...
Stopping previous instances...
Reload USB bus...
Check rmw_zenohd...
rmw_zenohd already running.
Start ROS2...
ROS2 launch output: /home/hello-robot/stretch_user/log/web_teleop/stretch4_web_teleop_202609291933/web_interface_launch.txt

Errors found in web_interface.launch.py output:
[web_interface.launch.py] ERROR: Unsupported tool 'eoa_wrist_dw4_tool_pg4' for model 'SE4'. Valid tools: ['eoa_wrist_dw4_tool_sg4', 'eoa_wrist_dw4_tool_tablet', 'eoa_wrist_dw4_tool_nil']

#############################################
FAILURE. COULD NOT LAUNCH WEB TELEOP.
Look at the troubleshooting guide for solutions to common issues: https://docs.hello-robot.com/0.3/getting_started/demos_web_teleop/#troubleshooting
or contact Hello Robot support and include /home/hello-robot/stretch_user/log/web_teleop/stretch4_web_teleop_202609291933/stretch4_web_teleop_logs.zip
#############################################

I am running the parallel jaw gripper:

hello-robot@ava:~/ament_ws/src/stretch4_web_teleop$ stretch_params | grep robot.tool
stretch_user_params.yaml                                               param.robot.tool                                                       eoa_wrist_dw4_tool_pg4     

I have the latest stretch4_web_teleop code:

hello-robot@ava:~/ament_ws/src/stretch4_web_teleop$ git -C ~/ament_ws/src/stretch4_web_teleop log -1 --format='%h %cs'
276cb07 2026-09-29

Looks like pg4 is missing in valid tools.

hello-robot@ava:~/ament_ws/src/stretch4_web_teleop$ sed -n '53,58p' ~/ament_ws/src/stretch4_web_teleop/launch/web_interface.launch.py
    valid_tools = [
        "eoa_wrist_dw4_tool_sg4",
        "eoa_wrist_dw4_tool_tablet",
        "eoa_wrist_dw4_tool_nil",
    ]

But I’m not sure if simply adding pg4 to valid_tools would be enough if the frontend can’t handle it:

hello-robot@ava:~/ament_ws/src/stretch4_web_teleop$ sed -n '55,72p' ~/ament_ws/src/stretch4_web_teleop/src/shared/util.tsx
export enum StretchTool {
    DW4 = "eoa_wrist_dw4_tool_sg4",
    TABLET = "eoa_wrist_dw3_tool_tablet",
    UNKNOWN = "unknown",
}



export function getStretchTool(stretchTool: string) {
    if (stretchTool === "eoa_wrist_dw3_tool_tablet") {
        return StretchTool.TABLET;
    } else if (stretchTool === "eoa_wrist_dw4_tool_sg4") {
        return StretchTool.DW4;
    } else {
        return StretchTool.UNKNOWN;
    }
}

Hey Keshav,

Thank you for raising this! We have an update coming very soon, it is currently in review and estimated to land within the next two weeks, that will allow the interface to run with any end of arm tool. For now, your instinct is correct that you cannot simply add the PG4 to the list of valid tools. I will keep you posted!

- Anna

3 Likes

Thank you for your patience on this. We launched an update to stretch4_body, stretch4_urdf, stretch4_ros2, and stretch4_web_teleop so any gripper is now be supported by the interface! The update to stretch4_body and stretch4_urdf have not yet been released on PyPI, so you will need to pull the changes and install locally if you want to update today. The PyPI release will come soon!

1 Like