How to Unpin a Message in Slack, and Where Pins Are
Unpin from the Pins tab or the message menu, then confirm Remove Pinned Item. We tested pinning, unpinning, edits, deletes, has:pin search and the 100-pin limit in Slack for web.
On this page
To pin a message in Slack, hover over it, click More actions (the three dots) and choose Pin to channel. Pinned messages are listed in the channel's Pins tab under the channel name. To unpin one, open that tab, click More actions on the message and choose Un-pin from channel, then confirm with Remove Pinned Item; the same menu item is on the message itself in the channel. We tested pins in a one-person test workspace in Slack for web on 30 September and again on 5 October 2026, and pinned messages through the API until Slack refused one.
How to unpin a message in Slack
- Open the channel and click the Pins tab under the channel name.
- Hover over the pinned message and click More actions (the three dots).
- Choose Un-pin from channel. With the menu open, P does the same.
- Slack asks "Are you sure you want to remove this pinned item?". Click Remove Pinned Item.
- • The pin was gone from
pins.list(1 item to 0), and the message itself stayed in the channel. - • Slack posted no notice in the channel. Nobody is told that you unpinned something.
- • The Pins tab stayed at the top of the channel with an empty page ("Easily access all of your most important messages").
- • From the API,
pins.removereturnedok; calling it again on the same message returnedno_pin. - Hover over the message and click More actions (the three dots on the right).
- Choose Pin to channel. With the menu open, pressing P does the same.
- The message gets a yellow background and a "Pinned by you" label in the channel, and appears in the channel's Pins tab. Links you want at the top of a channel, rather than messages, go in its folder tabs as bookmarks; see Slack bookmarks.
What we saw when we unpinned on 5 October:
How to pin a message and find it again
In the channel itself, the same menu on a pinned message reads Un-pin from channel, still on the P key:
Across all channels, type has:pin in the search bar. Add a channel to narrow it: in:#release has:pin. While our script was still pinning, has:pin in that channel found 49 messages when 72 were already pinned, because new pins take a moment to reach the search index. After the run, the same search found all 100.
What we tested, and what happened
| Test | Result |
|---|---|
| Edit a pinned message | Stayed pinned. The Pins tab and pins.list showed the new text, marked "(edited)" |
| Delete a pinned message | Its pin was removed with it: pins.list went from 2 items to 1 |
| Pin a message that is already pinned | Refused with already_pinned |
| Pin message 101 in one channel | Refused with too_many_pins |
has:pin search | Counted all 100 pins once indexed |
So a pinned message never needs re-pinning after an edit. If a pin vanishes, check whether someone deleted the message, which takes the pin with it, or unpinned it.
Never appear "away" on Slack again
Cloud-based. No downloads. Works 24/7 even when your laptop is off.
Slack pin limit: 100 per channel
We posted 110 messages to a new channel with a bot and pinned each one right after posting it. Pins 1 to 100 succeeded; the 101st returned:
{"ok": false, "error": "too_many_pins"}
pins.list then reported 100 items. To pin something new in a full channel, unpin an old message first.
Pinning from a script ran into the rate limit three times, after pins 72, 94 and 98. Each time slack_sdk's retry handler waited about 31 seconds, and 100 pins took 168 seconds. More on those waits in Slack API rate limits.
Pins through the API
pins.list returns every pin in a channel, with who pinned it and when. This is the entry for our edited test message:
{
"type": "message",
"created": 1790772531,
"created_by": "U0B7L4YK420",
"message": {
"ts": "1790772531.207499",
"text": "Release checklist for v2.15 lives in this thread. Owners: Jane (QA), Sam (deploy), Ana (docs).",
"edited": {"user": "U0B7L4YK420", "ts": "1790772576.000000"},
"pinned_to": ["C0C6GFR9G2C"]
}
}
A bot pins with pins.add (channel ID plus the message ts) and needs the pins:write scope; pins.list needs pins:read. Our bot was a member of the channel. The bot token guide covers scopes and reinstalling after you add them.
The Pins tab is hidden in new channels; our channel tabs test shows how to show it again from the Tabs settings.
FAQ
What is the difference between pinning and Save for later?
A pin is shared: everyone in the channel sees it in the Pins tab. Save for later is private to you, with an optional reminder; see Slack Save for later.
Can I pin a message in a DM?
Yes. We pinned a message in a DM with ourselves, and the DM got the same Pins tab as a channel.
Stop Jiggling Your Mouse.
Join hundreds of remote workers who never worry about their Slack status. Set it up once, stay green forever.
Related Articles
How to See All Your DMs in Slack, Including the Hidden Ones
The DMs tab lists your direct messages with people. App DMs, Slackbot and DMs with deleted accounts sit elsewhere. We compared the tab with the full list the Slack API returned.
Slack Images Not Showing? 5 Causes We Reproduced
We uploaded images to a Slack test channel and then switched each image setting off, ran /collapse, and posted from a bot that was not in the channel. Five causes, each reproduced.
How to Message Yourself on Slack (and What It Notifies)
Your own name under Direct messages opens a private DM with yourself. We sent it a note, a file, a scheduled message and a reminder, and checked which ones raised a badge.