Destroy a live Instance (IRREVERSIBLE)
destroy-instancePermanently removes a Roblox instance from a live game using a Luau expression. Irreversible; captures path and ClassName before destruction.
Instructions
WRITES LIVE GAME STATE. Resolve a Luau expression to an Instance and permanently remove it from the game via inst:Destroy(). Destroy() unparents the instance and ALL of its descendants, disconnects their events, and locks their Parent so they can never be re-parented — the subtree is gone. The instance's full path and ClassName are captured BEFORE destruction so the response records exactly what was removed. WARNING: THIS IS IRREVERSIBLE — there is no undo; you cannot get the instance back (use clone-instance first if you might need a copy). Destroying a player's Character, a critical service child, or a script can break the running game and may replicate to the server. Only destroy instances you are certain about. Returns { Destroyed, ClassName, ok } or { error }. Signature: { instancePath: string, threadContext: number? }. Phase: act; cost=medium; idempotency=contextual-write. Requires: active-client, resolved-target, explicit-mutation-approval. Produces: operation-receipt. Verify with: verify-path-exists. Safety: MUTATING; writes live game/client state. On failure: inspect tool-schema for exact fields, defaults, constraints, and an invocation example.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| instancePath | Yes | Luau expression resolving to the Instance to destroy, e.g. 'game.Workspace.UnwantedPart', 'game.Players.LocalPlayer.PlayerGui.Ad', or 'game.Workspace:FindFirstChild("Trap")'. Evaluated as `return <instancePath>`. Resolve the EXACT instance — Destroy also removes every descendant. | |
| threadContext | No | Optional Roblox thread identity for this call; omit it to use the server default. |