> ## Documentation Index
> Fetch the complete documentation index at: https://docs.headlesslabs.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Permissions

> Headless VC separates permissions for module configuration, each room's owner, and the bot itself. Room commands are server-only and verify current ownership.

## Permissions for configuration

The `lobby`, `category`, `on`, `off`, `panel`, `afk`, and `afk-time` subcommands accept native Manage Channels or a compatible Headless virtual permission. `role` accepts native or virtual Manage Roles. Administrator is not required. The root group directly checks Discord Manage Channels before showing setup; publishing the global panel does not make other users room owners.

### `.privatevc lobby`

```headless-command Syntax theme={null}
.privatevc lobby <channel>
```

```headless-command Example theme={null}
.privatevc lobby #Create-VC
```

### `.privatevc panel`

```headless-command Syntax theme={null}
.privatevc panel
```

```headless-command Example theme={null}
.privatevc panel
```

## Room-owner permissions

`lock`, `unlock`, `hide`, `show`, `permit`, `deny`, `kick`, `name`, `limit`, `delete`, `region`, and `transfer` require you to be inside a registered room and its current owner. `claim` is the exception: an occupant can use it after the current owner has left. Manage Channels does not let someone administer another person's room.

### `.privatevc permit`

```headless-command Syntax theme={null}
.privatevc permit <member>
```

```headless-command Example theme={null}
.privatevc permit @Member
```

### `.privatevc deny`

```headless-command Syntax theme={null}
.privatevc deny <member>
```

```headless-command Example theme={null}
.privatevc deny @Member
```

## Bot permissions and hierarchy

The bot needs Manage Channels to create channels, edit overwrites, and delete rooms. When creating a room it must be able to move the member from the lobby; `kick` and the disconnect attempt from `deny` also depend on Move Members. The panel needs View Channel and Send Messages in its text channel. Creating/deleting a temporary role requires Manage Roles and sufficient role hierarchy.

## Steps

**1. Give the bot minimum permissions**

Grant Manage Channels and Move Members for voice workflows; enable Manage Roles only if temporary roles will be used.

**2. Restrict configuration**

Reserve setup commands for staff with Manage Channels or Manage Roles as indicated in the table.

**3. Test as staff and as owner**

Validate setup with an administrator, then confirm that someone outside the room cannot control it, even if they have Manage Channels.

## Who needs each permission

* **Configurator** — **Permission or condition:** Discord Manage Channels or compatible virtual permission · **Actions:** Lobby, category, enable/disable, publish panel, and legacy AFK options.
* **Configurator** — **Permission or condition:** Discord Manage Roles or compatible virtual permission · **Actions:** Save the optional access role.
* **Room owner** — **Permission or condition:** Inside their active room and current owner · **Actions:** Access, visibility, lock, name, capacity, region, transfer, and delete controls.
* **Occupant** — **Permission or condition:** Inside the room; previous owner has left · **Actions:** Claim ownership with `claim`.
* **Bot** — **Permission or condition:** Manage Channels and Move Members · **Actions:** Create/edit the room, move the lobby entrant, and kick/disconnect members.
* **Bot** — **Permission or condition:** View Channel and Send Messages · **Actions:** Publish or update the panel in the chosen text channel.
* **Bot** — **Permission or condition:** Manage Roles and sufficient hierarchy · **Actions:** Create/assign and later remove temporary access roles when applicable.

> [!WARNING]
>
> Do not grant the bot Administrator to fix voice errors. Check the specific permission, channel overwrites, and the bot role's position in the hierarchy.

**Note:**

Fake Permissions can satisfy decorated admin subcommand checks, but not the root panel's direct native check. It never grants Discord permissions to the bot or changes overwrites.

## Related pages

* [Headless VC overview](/docs/en/voice/overview.md)
* [Voice commands](/docs/en/voice/commands.md)
* [Headless permissions](/docs/en/permissions.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.