---
title: "Studio command-line interface"
url: /docs/en-us/studio/command-line-interface
last_updated: 2026-06-11T23:12:00Z
description: "Roblox Studio supports command-line arguments that let you start Studio in a variety of ways and access special Studio functionality."
---

# Studio command-line interface

Roblox Studio supports command-line arguments that let you launch it with special functionality, such as opening a specific place or script when Studio starts. The Roblox Studio executable is typically installed in the following locations:

| OS | Location |
| --- | --- |
| Windows | `%localappdata%\Roblox\Versions\[version]\RobloxStudioBeta.exe` |
| Mac | `/Applications/RobloxStudio.app/Contents/MacOS/RobloxStudio` |

When launched from the command line, Studio pipes verbose logs to `stdout` that are more detailed than what appears in the **Output** window. Arguments use a single-dash prefix and are case-insensitive. File paths that contain spaces must be quoted.

> **Info:** Any arguments not documented here are for internal use only and are subject to change without notice.
## Open a place

To open a published place, specify the place ID, universe ID, and a task.

### Required arguments

| Argument | Description |
| --- | --- |
| `-placeId <placeId>` | The numeric ID of the place to open. |
| `-universeId <universeId>` | The universe that owns the place. |
| `-task <taskName>` | Specifies how Studio opens the place based on the given task. See the [supported tasks](#supported-tasks) table below for more information. |

### Supported tasks

| Argument | Description |
| --- | --- |
| `EditPlace` | Opens the latest published version of the place for editing. |
| `EditPlaceRevision` | Opens a specific previous version of the place. Requires `-placeVersion <versionNumber>` to specify the version. |

### Optional arguments

| Argument | Description |
| --- | --- |
| `-targetInstanceId <guid>` | Moves the Studio camera to focus on the instance with this GUID after the place loads. |
| `-annotationId <guid>` | Opens the annotation with this GUID after the place loads. |

### Examples

```shell
# Open the latest version of a place
RobloxStudio.exe -task EditPlace -placeId 74265016723074 -universeId 7127583708

# Open a specific previous version
RobloxStudio.exe -task EditPlaceRevision -placeId 74265016723074 -universeId 7127583708 -placeVersion 2
```

## Open a local file

To open a local place, use `-task EditFile` with the following argument.

| Argument | Description |
| --- | --- |
| `-localPlaceFile <path>` | Absolute path to a local `.rbxl` or `.rbxlx` place file to open. |

You can also open a local place file by passing the file path as the first positional argument without a flag name.

### Examples

```shell
# Open a local place file
RobloxStudio.exe -task EditFile -localPlaceFile "Projects\MyGame.rbxl"

# Shorthand
RobloxStudio.exe "Projects\MyGame.rbxl"
```

## Open a script

To open a script, specify the place ID, universe ID, and task as described in the [open a place](#open-a-place) section. Then provide one of the following arguments depending on how you want to open the script.

| Argument | Description |
| --- | --- |
| `-openScriptPath <path>` | The path to the script. Must use `/` as separators and follow absolute `require-by-string` semantics. |
| `-openScriptFromId <uniqueId>` | The unique ID of the script to open. |

### Optional highlighting

Optionally, highlight specific lines or a character range when opening the script.

| Argument | Description |
| --- | --- |
| `-startLine <n>` | Starting line of the highlight range. 1-based and inclusive. |
| `-endLine <n>` | Ending line of the highlight range. 1-based and exclusive. |
| `-startCharacter <n>` | Starting character position within the line. 1-based. |
| `-endCharacter <n>` | Ending character position within the line. 1-based and exclusive. |

### Examples

```shell
# Open a script by path
RobloxStudio.exe -task EditPlace -placeId 74265016723074 -universeId 7127583708 -openScriptPath Workspace/MyFolder/MyScript

# Open a script by ID
RobloxStudio.exe -task EditPlace -placeId 74265016723074 -universeId 7127583708 -openScriptFromId 604a6aa2-04cc-c820-09b3-a1dc0000537f

# Open a script and highlight specific lines
RobloxStudio.exe -task EditPlace -placeId 74265016723074 -universeId 7127583708 -openScriptPath Workspace/MyFolder/MyScript -startLine 1 -endLine 5

# Open a script and highlight a character range
RobloxStudio.exe -task EditPlace -placeId 74265016723074 -universeId 7127583708 -openScriptPath Workspace/MyFolder/MyScript -startLine 1 -endLine 1 -startCharacter 1 -endCharacter 6
```

## Run a script

Use `-task RunScript` to execute a Luau script after a place finishes loading. Scripts run at the same permission level as the Studio command bar. You can combine this with `-placeId` and `-universeId` to run the script in a specific experience. If those arguments are omitted, Studio opens the default empty baseplate template and runs the script there.

### Required arguments

| Argument | Description |
| --- | --- |
| `-runScriptFile <path>` | Absolute path to a `.lua` or `.luau` file to execute. |

### Optional arguments

| Argument | Description |
| --- | --- |
| `-outputFile <path>` | Path to a file where script output is written. |
| `-quitAfterExecution` | If provided, Studio closes after the script finishes executing. |

### Examples

```shell
# Run a script in a specific experience and exit when done
RobloxStudio.exe -task RunScript -placeId 74265016723074 -universeId 7127583708 -runScriptFile smokeTest.luau -outputFile out.log -quitAfterExecution

# Run a script in the default Baseplate
RobloxStudio.exe -task RunScript -runScriptFile smokeTest.luau
```

## Try an asset

Use `-task TryAsset` to insert a specific asset into a baseplate template and open it for editing.

### Required arguments

| Argument | Description |
| --- | --- |
| `-assetId <id>` | The asset ID to insert. |

### Example

```shell
RobloxStudio.exe -task TryAsset -assetId 53326
```