Skip to main content


The config.json file lets you pre-configure the behavior of the agent and capabilities.


"global": {
"rosReleases": ["humble"],
"desiredPackages": ["@transitive-robotics/webrtc-video"]
"@transitive-robotics/webrtc-video": {
"default": {
"value": "/dev/video0",
"type": "v4l2src",
"text": "Front",
"resolution": {
"width": {"value": 640},
"height": {"value": 480}
"bitrate": "20",
"framerate": "30/1"

This file usually lives in ~/.transitive, but can also be provided during installation in a docker container, see Using Docker.


While the agent and most of our capabilities can be used without ROS, some capabilities, such as Remote Teleop and Health Monitoring, require it. In the default configuration, i.e., when rosReleases is not set or set to null, the Tansitive agent will source any ROS releases it finds installed in /opt/ros, if any. If you want to overwrite or disable that, you can specify the ROS releases you want to use by name, e.g.:

"global": {
"rosReleases": ["noetic", "humble"]

The array can be left empty ([]) to disable ROS completely. Note that our capabilities can work with ROS 1 and ROS 2 simultaneously.

Applying changes

After making changes to ~/.transitive/config.json you will need to:

  1. stop the capabilities that you want to pick up the change, and
  2. restart the agent.

This will make the agent reload the configuration and restart the stopped capabilities with the new config.

Configuration Editor UI

Some configuration values, e.g., ROS support, can also be modifed and applied via the device page on the portal.