Fire one specific connection on a signal
fire-connectionInvoke a single Roblox signal connection's Fire or Defer handler by index, passing custom arguments to isolate and test one suspected handler without triggering all connections.
Instructions
MUTATES CLIENT STATE. Invokes a single connection's :Fire(...) (or :Defer(...) when defer=true) so that ONLY the one targeted handler runs with the supplied arguments — unlike fire-signal, which triggers every connection. Identify the connection by its index within getconnections(signal) (use list-signal-connections to find indices). This is client-side only and does not reach the server. Useful for isolating and testing a single suspected handler. The connection's Fire/Defer methods may be absent on foreign/C connections, so the call is pcall-guarded. Requires getconnections; degrades with a clear { error } if unavailable. Returns { Signal, Instance?, ConnectionIndex, Fired, Deferred } or { error }. Signature: { instancePath: string, signalName: any?, connectionIndex: any?, defer: any?, args: {{ kind: "string" | "number" | "boolean" | "nil" | "instance" | "raw", value: string | number | boolean? }}?, threadContext: number? }. Phase: act; cost=medium; idempotency=contextual-write. Requires: active-client, resolved-target, explicit-mutation-approval. Capabilities: getconnections. Produces: created-handle, operation-receipt. Verify with: assert-state. 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 |
|---|---|---|---|
| args | No | Ordered list of arguments to pass to the targeted connection's handler. Omit or pass [] to fire with no arguments. | |
| defer | No | When true, call connection:Defer(...) to schedule the handler on the next resumption cycle instead of running it synchronously. When false (default), call connection:Fire(...) to run it immediately. | |
| signalName | No | Name of the RBXScriptSignal member on the instance (e.g. 'Touched', 'Changed'). Leave empty/omit if instancePath already evaluates to the signal. | |
| instancePath | Yes | Lua expression resolving to the Instance that owns the signal (e.g. 'game.Workspace.Door'). Evaluated as `return <instancePath>`. Leave signalName empty if this expression already resolves to the signal itself. | |
| threadContext | No | Optional Roblox thread identity for this call; omit it to use the server default. | |
| connectionIndex | No | Zero-based index of the target connection within getconnections(signal), matching the Index reported by list-signal-connections. Defaults to 0 (the first connection). |