Repository navigation
Releases
v3.4.4
The Studio plugin keeps working after an upgrade while an older MCP session is still open, and playtest starts report Studio's own reason when Studio refuses them.
Fixes
- Upgrading no longer breaks the plugin while an older session is open. Only one MCP server owns the Studio port, and Studio connects only to it. Before, a newer session that started while an older one owned the port still replaced the plugin with its own version, which the older server rejected with
HTTP 426 plugin_version_mismatch.--auto-install-pluginnow installs only from the server that owns the port: at startup, or when a waiting session takes the port after the older one exits. A waiting session logsPort <port> is owned by MCP server v<old>…. To switch to the new version, close every MCP client still running the old one. (#169, #170) - Main and inspector on the same port. The installed plugin is now the edition of the server that owns the port. Before, whichever session started last replaced it with its own edition. (#170, #171)
- Playtest starts report Studio's refusal. When Studio refuses a test start because it thinks an earlier test is still running,
solo_playtestandmultiplayer_playtestreturnstudio_test_in_progresswith Studio's text and a recovery hint, instead of a readiness timeout.solo_playtestin Run mode refuses the TestService multi-client setup (ExecuteWithStudioRun = truewithNumberOfPlayers > 0) that caused this state. (#167, #168)
Upgrading from v3.4.3 or earlier: older servers still install the plugin on every startup. If Studio reports plugin_version mismatch once after this upgrade, close all MCP clients and start one again.
Recommended Install
Use the npm package with --auto-install-plugin so the matching Studio plugin is installed automatically:
# Claude Code
claude mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Codex CLI
codex mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Antigravity CLI
agy mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-pluginFully close and reopen Roblox Studio after the plugin is first installed or updated.
v3.4.3
Fixes for clients that never registered in games that rename remotes, readable tool errors in Claude Code, and safer asset, monetization, input, and MicroProfiler calls.
Fixes
- Play clients register in games that rename remotes. Some games rename every remote in ReplicatedStorage on the client. The client broker now finds its channels by an
__MCPChannelattribute when the name has changed, sosolo_playtestno longer times out with only theeditandserverroles. (#154) - Failed tool calls show their error in Claude Code. Clients on the 2026-07-28 protocol showed "Unknown error" for every failure. Failed results now keep the error as a text block. Successful results are unchanged. (#155)
generate_modelstays on the Studio it resolved for the whole job, including the reference image upload. It also keeps its error codes and request details. (#158, #162)upload_asset: an explicituserIdnow overrides a default group set in the environment. (#159)- Monetization: two creates with the same name in one server process can no longer both pass the duplicate-name check. When a create may or may not have reached Roblox, it fails with
create_outcome_unknown, and creates of that name are blocked for up to 10 minutes untillistorgetshows the item. Creates from separate server processes are still not coordinated. (#160) - Key and mouse releases are always sent. While Studio isn't rendering they are queued and sent again once the window renders. (#161)
- MicroProfiler captures in the default directory get unique names and never overwrite another capture. Pruning leaves captures younger than 10 minutes alone, since another server process may still be using them. (#163)
Recommended Install
Use the npm package with --auto-install-plugin so the matching Studio plugin is installed automatically:
# Claude Code
claude mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Codex CLI
codex mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Antigravity CLI
agy mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-pluginFully close and reopen Roblox Studio after the plugin is first installed or updated.
v3.4.2
Whole MicroProfiler recordings, all-or-nothing property edits, and fixes for playtest clients dropped during large copies.
What's new
- Whole MicroProfiler recordings.
capture_micro_profilerrecords every frame (up to 30 s) and analyzes it on the MCP host.action: "start"/"stop"record around other tool calls;action: "analyze"re-reads a saved capture or.gprxdump. Results flag captures taken while Studio drew at a reduced rate (data_quality.render_throttled) and list the roles sharing a solo Studio process (process_roles). - All-or-nothing property edits.
set_propertieswithatomic: truechecks every property before writing and puts earlier writes back if one fails.dryRun: truepreviews without writing.
Fixes
- Playtest clients are no longer dropped while large screenshots or captures are copied back from a busy game. Solo client captures go through the server instead.
- Inspector:
get_simulation_stateandget_device_simulator_statework on a secondary server. generate_model: retries with the sameoperation_idreuse the uploaded image instead of uploading it again.get_memory_breakdown/get_scene_analysisreport each peer's real failure and asummary.get_attributeskeeps CFrame rotation (Components).- A playtest client that has left is reported as gone, not as an ambiguous target.
Behavior changes
capture_micro_profilerreturnsschema_version: 3;max_events,frame_window,history_truncatedandframes_evictedare gone, andoutput_pathwrites the raw.gprx.get_simulation_stateerrorsentries are{ code, message }.- MicroProfiler captures through a shared Studio connection need 3.4.2 on both the primary and the secondary server. A 3.4.2 secondary refuses them through an older primary with
primary_unsupported.
Recommended Install
Use the npm package with --auto-install-plugin so the matching Studio plugin is installed automatically:
# Claude Code
claude mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Codex CLI
codex mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Antigravity CLI
agy mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-pluginFully close and reopen Roblox Studio after the plugin is first installed or updated.
v3.4.0
Manage experience settings from your AI tool, safer multi-script find-and-replace, and fixes for hangs and silent failures.
What's new
- Manage experience settings. The new
manage_experiencetool reads and updates the connected experience's title, description, server size, voice chat, supported devices, private server price, and social links.
Changes
- Safer find-and-replace across scripts. A preview shows exactly what will change in each script, and applying it changes only those scripts, only if nothing has changed since. If a write fails partway, scripts already changed are put back, without overwriting anything you typed in the meantime.
- Safer retries. More tools that change your place can be retried after a timeout without applying the change twice.
classFilter: "Script"no longer also edits LocalScripts and ModuleScripts.- Script edits no longer change the wrong spot when the text to replace appears in overlapping places, such as repeated
endlines. - MicroProfiler timings are now accurate (they were several times too long), and captures no longer pause Studio's profiler.
- Requests to playtest clients no longer hang when the client stops responding; you get a clear error instead.
- Failed asset uploads are reported as errors instead of success.
- Importing or uploading from a file path that isn't a regular file no longer hangs the server.
find_and_replace_in_scriptsno longer applies part of a replacement when it would exceedmaxReplacements; it changes nothing and reports the total.
Contributors
- Thanks @GameRipper665 for
manage_experiencein #136.
Recommended Install
Use the npm package with --auto-install-plugin so the matching Studio plugin is installed automatically:
# Claude Code
claude mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Codex CLI
codex mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Antigravity CLI
agy mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-pluginFully close and reopen Roblox Studio after the plugin is first installed or updated.
v3.3.0
Minor release adding batched script edits, async model generation, mouse move and scroll, and bounded object search that guards duplicate-name paths.
Changes:
edit_script_linesaccepts aneditsarray that applies all or none as one undo step.get_script_sourcereturns arevision; pass it asexpected_revisionto reject edits to a script that changed since the read.dry_runpreviews the diff, andoperation_idmakes retries safe.generate_modelwithasync=truereturns a job ID before generation finishes. Read or await the result withget_request_status, whose newwait_mswaits for any retained operation.operation_idlets a retry join the same job instead of generating a second model.simulate_mouse_inputaddsmoveandscroll(withwheel). Moving is rejected under touch device emulation, where it never reaches the game.search_objectstakespath,className(IsA), andmaxResults. It returns at most 100 results by default (previously unlimited) and reportstruncated. Queries now match as plain text instead of Lua patterns, and an unknownsearchTypeis rejected instead of returning no results.- When siblings share a name, writes through that path (
set_properties, script edits,insert_asset,import_rbxm, andfind_and_replace_in_scriptswithoutdryRun) are now refused instead of changing an arbitrary match. Reads use the first match and reportambiguousPathsandpathWarning. - A server running as a proxy refuses async jobs and status waits when the primary server is on an older version, instead of losing the job.
Recommended Install
Use the npm package with --auto-install-plugin so the matching Studio plugin is installed automatically:
# Claude Code
claude mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Codex CLI
codex mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Antigravity CLI
agy mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-pluginFully close and reopen Roblox Studio after the plugin is first installed or updated.
v3.2.1
Patch release fixing multiplayer client targeting, playtests with Server Authority, and slow playtest stops.
Changes:
- A role-suffixed
instance_id(for exampleinstance:…-client-2) now targets that client or server in every tool that takestarget. Previouslyeval_client_runtimeran on client-1, andleave_clientremoved client-1. A conflictingtargetis now rejected withambiguous_target. - Server-suffixed IDs now default to the server in
execute_luau,breakpoints,export_rbxm,import_rbxm,get_memory_breakdown, andget_scene_analysis. Pass the controllerinstance_idfor the old defaults. capture_screenshot, simulated input, andselectionaction=viewnow use the playtest client when the edit DataModel isn't connected, instead of failing withtarget_role_required.- Playtests in places with
NextGenerationReplication(enabled by Server Authority) now connect and stop normally. - Stopping a playtest no longer waits 30 seconds when the plugin's HTTP requests are busy.
- The server now closes Studio WebSockets that stop answering pings, so dead connections no longer stay registered.
- Fixed
manage_instancelaunch authorization sometimes reportingprocess_running: nullon Windows.
Contributors
Recommended Install
Use the npm package with --auto-install-plugin so the matching Studio plugin is installed automatically:
# Claude Code
claude mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Codex CLI
codex mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Antigravity CLI
agy mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-pluginFully close and reopen Roblox Studio after the plugin is first installed or updated.
v3.2.0
Minor release adding developer product and game pass management, Studio under Wine on native Linux, and keeping MCP data out of saved places.
Changes:
- New
manage_monetizationtool to list, get, create, and update developer products and game passes. - Studio can now be managed under Wine on native Linux via
ROBLOX_STUDIO_WINE_LAUNCHER. - The plugin no longer saves
__MCP*attributes into places and removes ones left by earlier versions (save once to clean the file). - During MCP-started solo playtests,
StudioTestService:GetTestArgs()returns an__mcpTopologytable instead of{}. - Remembered server URLs and breakpoints for unpublished places are now keyed by place name.
- Fixed
manage_instancelaunches failing with HTTP 500 on Windows and WSL (regressed in 3.1.6). preview_assetaudio downloads now name the requiredlegacy-asset:managescope, including on 403.- MicroProfiler captures taken with the display off now return
micro_profiler_no_framesinstead of an empty success. - Fixed a registry lock race between concurrent MCP processes.
Contributors
Recommended Install
Use the npm package with --auto-install-plugin so the matching Studio plugin is installed automatically:
# Claude Code
claude mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Codex CLI
codex mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Antigravity CLI
agy mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-pluginFully close and reopen Roblox Studio after the plugin is first installed or updated.
v3.1.6
Patch release improving screenshots on macOS and for local place files, plugin installation, imports, and property edits.
Changes:
capture_screenshotcan now fall back to capturing the Studio window on macOS 14 or newer when Studio returns a blank frame. The host needs Screen Recording permission and Xcode Command Line Tools. If the tools are missing, the tool reports it instead of opening the macOS installer dialog.- Fixed the Windows screenshot fallback for places opened from a file. Studio shows the file's full path in the window title, so the fallback never found the window. It now matches the file name. It still refuses to pick between several matching windows, and each capture stays on the same window.
- An explicit multiplayer client
instance_idnow targets that client for screenshots and input, instead of the first client. set_propertiesno longer turns the strings"true"and"false"into booleans for string properties. ScriptSourceedits now use the same editor-aware writer as the script tools.Parent/PrimaryPartaccept""to clear them.import_rbxmnow enforces its size limit while reading files, URLs, and base64 (just under 37.5 MiB, so the payload fits the transport limits). URL downloads have a 30-second deadline and can be cancelled, and line-wrapped base64 is accepted.- The plugin installer now downloads the release that matches the installed server version, and both editions validate against it.
- Fixed a first-run race where MCP processes starting at the same time could create different auth tokens.
- Network requests to Roblox APIs and between MCP processes now have deadlines.
manage_instanceclose now waits, for up to 15 seconds, for a Studio that is still signing in to Roblox. Ending Studio mid sign-in could sign the Windows account out of Studio.
Contributors
- Thanks @RyanLua99 for the macOS screenshot fallback and multiplayer client targeting in #98.
- Thanks @bgd4141221 for the property, auth, import, and installer fixes in #99 and the shared plugin installer in #100.
Recommended Install
Use the npm package with --auto-install-plugin so the matching Studio plugin is installed automatically:
# Claude Code
claude mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Codex CLI
codex mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Antigravity CLI
agy mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-pluginFully close and reopen Roblox Studio after the plugin is first installed or updated.
v3.1.5
Patch release improving Studio reconnection, screenshots, and profiler reliability.
Changes:
- Fixed blank or failed playtest screenshots when Studio uses Vulkan on Windows by falling back to host-window capture. Viewport coordinates are preserved even when Studio is behind other windows; minimized windows cannot be captured.
- Fixed automatic plugin reconnection after server restarts and listener handoffs, with bounded connection attempts and clearer retry diagnostics.
manage_instancenow verifies that Studio has actually exited before reporting a successful close.- Client script-profiler requests now return bounded timeout and disconnect diagnostics without automatically retrying captures whose outcome is unknown.
- Fixed MicroProfiler captures returning empty or stale data by refreshing the snapshot before pausing capture and explicitly configuring the frame limit.
Contributors
- Thanks @hsangrento for the screenshot fallback and reconnect improvements in #85.
- Thanks @yoyo999888 for reporting the Studio shutdown issue in #86.
- Thanks @Dvitash for reporting the automatic reconnection issue in #95.
Recommended Install
Use the npm package with --auto-install-plugin so the matching Studio plugin is installed automatically:
# Claude Code
claude mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Codex CLI
codex mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Antigravity CLI
agy mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-pluginFully close and reopen Roblox Studio after the plugin is first installed or updated.
v3.1.4
Patch release improving screenshots, multiplayer routing, and tool-result reliability.
Changes:
- Added faster screenshots with overlay UI and coordinates matching mouse input. These improvements are currently available only with Studio's
FFlagImageScreenCaptureEnabled4flag enabled (Studio restart required). Without it, screenshots use the existing capture path. - Fixed multiplayer routing across multiple MCP sessions so live clients remain reachable.
- Enforced Inspector read-only permissions on proxy requests, blocking write and execution endpoints.
- Tool failures now report correctly to MCP clients while preserving error details and partial results.
- Preserved user-defined attribute and property names that could previously disappear from tool results.
Contributors
- Thanks @Peteralm for the screenshot improvements in #84.
- Thanks @DontMineAtNight for reporting the multiplayer routing issue in #80.
- Thanks @bgd4141221 for reporting the Inspector permissions and tool-result issues in #77, #78, and #79.
Recommended Install
Use the npm package with --auto-install-plugin so the matching Studio plugin is installed automatically:
# Claude Code
claude mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Codex CLI
codex mcp add robloxstudio -- npx -y @chrrxs/robloxstudio-mcp@latest --auto-install-plugin
# Gemini CLI
gemini mcp add robloxstudio npx --trust -- -y @chrrxs/robloxstudio-mcp@latest --auto-install-pluginFully close and reopen Roblox Studio after the plugin is first installed or updated.