# llReleaseControls

*LSL function*

```lsl
void llReleaseControls();
```

- Energy: 10

Stops taking inputs (previously acquired via llTakeControls) from the avatar, dequeuing any remaining control events and revoking the PERMISSION_TAKE_CONTROLS permission.

Stop taking inputs (that were taken with [llTakeControls](/functions/llTakeControls/)), dequeues any remaining [control](/events/control/) events. If [PERMISSION_TAKE_CONTROLS](/constants/PERMISSION_TAKE_CONTROLS/) was previously granted, it will be revoked.

```lsl title="How to use" frame="terminal"
llReleaseControls();
```

## Caveats

- In some cases, calling `llReleaseControls()` in one script can affect the controls of other script which has also captured the same control bit on the same agent.

## See also

### Functions

- [llTakeControls](/functions/llTakeControls/)

### Events

- [control](/events/control/)

---

*Source: [LlReleaseControls](https://wiki.secondlife.com/wiki/LlReleaseControls) on the Second Life Wiki. Content from the Second Life Wiki article LlReleaseControls (revision 1165463, 2012-04-12), CC BY-SA 3.0.*

---

From lsl.dev: https://lsl.dev/functions/llReleaseControls/
