---
title: Set Cursor Item
description: "Play 0x60, server → client."
---

`play` · `0x60` · **clientbound** (server → client)

Sets the item stack held by the mouse cursor in an open container. The server sends it when the cursor item changes out of sync with the client, for example after a rejected click.

Sent by the server, read by the client. Listen for it with `client.on("SetCursorItem", (data) => …)` on the receiving side.

## Fields

| Field | Type | Notes |
|---|---|---|
| `contents` | [Slot](/docs/items) |  |

## Send it

```ts
await client.sendPacket("SetCursorItem", {
  contents: /* Slot */,
});
```

Field aliases listed under Notes are accepted as alternative keys when writing.

Source: [`src/Core/Versions/776/Packets/play/clientbound/SetCursorItem.ts`](https://github.com/GDLev/mc-protocol/blob/master/src/Core/Versions/776/Packets/play/clientbound/SetCursorItem.ts)
