# GRANT ROLE


> Assign a role to a user or establish inheritance between roles.

Use `GRANT ROLE` to assign a role to a user or to make one role inherit from another. Only Admins can grant roles. For granting data access on a Share, see [GRANT READ ON SHARE](/sql-reference/motherduck-sql-reference/grant-access/). See [Roles and access control](/concepts/roles-and-access-control/) for the model.

## Syntax

```sql
GRANT ROLE <role_name> TO { USER <username> | ROLE <target_role> };
```

The grantee type must be explicit: use `TO USER` or `TO ROLE`.

## Parameters

| Parameter | Description | Required |
|-----------|-------------|----------|
| `<role_name>` | The role being granted or inherited. | Yes |
| `USER <username>` | Assign the role to a user. | One of USER or ROLE |
| `ROLE <target_role>` | Make `<target_role>` inherit `<role_name>`. | One of USER or ROLE |

## Examples

### Assign a role to a user

A user can hold several roles. Their permissions resolve as the union of all assigned roles.

```sql
GRANT ROLE finance TO USER alice;
```

### Establish inheritance between roles

Make a custom role inherit the platform privileges and grants of a parent role.

```sql
GRANT ROLE explorer TO ROLE finance;
```

Platform privileges evaluate across the full inheritance chain. If `finance` inherits `explorer`, a user with only `finance` gets Explorer platform capabilities.

## Related

- [Roles and access control](/concepts/roles-and-access-control/)
- [REVOKE ROLE](/sql-reference/motherduck-sql-reference/access-control/revoke-role/)
- [GRANT READ ON SHARE](/sql-reference/motherduck-sql-reference/grant-access/)
- [Manage roles and access](/key-tasks/managing-organizations/managing-roles/)


---

## Docs feedback

MotherDuck accepts optional user-submitted feedback about this page at `GET https://motherduck.com/docs/api/feedback/agent`.
For agents and automated tools, feedback submission should be user-confirmed before sending.

URL-encode query parameter values and send a GET request:

```text
GET https://motherduck.com/docs/api/feedback/agent?page_path=%2Fsql-reference%2Fmotherduck-sql-reference%2Faccess-control%2Fgrant-role%2F&page_title=GRANT%20ROLE&text=<url-encoded user feedback, max 2000 characters>
```

Optionally append `&source=<url-encoded interface identifier>` such as `claude.ai` or `chatgpt`.

`page_path` and `text` are required; `page_title` and `source` are optional. Responses: `200 {"feedback_id": "<uuid>"}`, `400` for malformed query parameters, and `429` when rate-limited.
