dispatch
Sessions waiting on you:0finished:0· all quiet
Sign inStart the trial

Docs Integrations

Studio and Rojo

Link a tile to a running Studio window, and see at a glance whether Rojo is actually synced.

Everything here is window-level: which windows exist, what each has open, and where they sit. Nothing reaches inside Studio.

Linking a tile to a Studio window

A tile can be pointed at a running Studio window, and its header then carries a chip naming the place that window has open. A Roblox project whose name matches exactly one running window is linked automatically.

  • Click the chip to bring Studio to the front.
  • Shift-click to raise it without moving it.
  • Right-click for the list of open windows (to link a different one), for Bring to Left / Center / Right, and for its home monitor: the screen that raising it sends it back to.

Monitors are named both ways round. Quick moves lead with the direction and bracket the monitor, as in Bring to Center (ASUS VG247Q1A); picking a home monitor leads with the monitor and brackets the direction, as in ASUS VG247Q1A (Left). Past three monitors in a row the list goes by monitor alone.

Close Studio and the chip stays

It names the place it is still pointed at, and clicking it opens that place rather than telling you it is shut.

The plugin names itself on the way in: every handshake carries the place’s id, so a place you have had open once is one Dispatch can start again. The chip reads “Opening…” until the window turns up.

A place Dispatch has never seen connect has no id to start, so its chip cannot open it, and the tooltip says why.

Rojo sync

A Rojo workflow has two ends: rojo serve runs in a terminal, which is a tile, while the Connect that makes Studio listen lives in Rojo’s own plugin.

Forget that click and editing a project looks exactly like editing one that is synced: the files change, the place doesn’t, and the first sign is a playtest behaving like the code from twenty minutes ago.

The tile header says where sync actually stands:

Synced
That tile’s Studio window is holding the connection.
Not synced
Studio is open and it isn’t.
Serve
The project has a *.project.json and nothing is serving it at all.

You do not have to set anything up for those chips to be right. Rojo’s own server answers /api/rojo with the project it is serving, and Rojo’s Studio plugin holds a loopback socket for as long as a session lasts. Dispatch reads both, so a project you have never mentioned to it still gets an honest chip.

Clicking Serve

It opens a terminal running it in its own tile, in that project, since rojo serve holds a terminal for as long as it runs and the one you clicked from probably has a session in it. The chip pulses Starting… until the port is up, then turns amber or green like any other.

A folder is only offered this if it really is a Rojo project. The roblox type is broader than Rojo (a wally.toml earns it), so what’s looked for is default.project.json, or a single differently-named *.project.json, which then gets named on the command line.

The chip is a switch

Click it amber and it connects, click it green and it disconnects.

Studio gives one plugin no way to call another, so there is no API to press Rojo’s Connect with. What Dispatch can do is bring the window forward and type the keyboard shortcut you have bound to Rojo’s Rojo: Connect/Disconnect action.

Bind that action rather than the two one-way ones beside it: one chord covers both directions, and Dispatch reads which way sync currently sits immediately before it types.

Set the same chord in Settings ▸ Roblox ▸ Rojo shortcut and the chip works. Leave it empty and the chip only raises Studio.

To bind it in Studio: File ▸ Advanced ▸ Customize Shortcuts.

When the chip stays amber

It reports the state it actually reached rather than the keystroke it sent, so a chip that doesn’t turn tells you something real:

  • Nothing is bound to that chord.
  • Studio has a modal in front of the place. A plugin shortcut doesn’t fire while an autosave-recovery prompt is up.
  • Rojo is waiting on its own confirmation prompt.

The message says which.

Rojo’s own Auto Reconnect setting reconnects a place on open, and is off by default. Turning it on stops most of this happening at all, and the chip’s tooltip says so while it is off.

From a session

dispatch_rojo is the same switch from a session, available to any agent driving Dispatch over MCP, so a session can check sync before it edits.