---
title: "How to bulk delete messages in Discord"
description: "Discord deletes messages one at a time. Tell Bond how many and where, and it shows the exact set and deletes it once you approve."
canonical_url: "https://www.bondbot.gg/use-cases/bulk-delete-messages"
last_updated: "2026-10-05"
---

# How to bulk delete messages in Discord

Discord has no button that deletes many messages at once. Without a bot you delete them one at a time, or clone the channel and delete the original to empty it. With Bond you say how many messages and which channel, it shows you the exact set, and it deletes them after you approve.

Verified 2026-10-01 on a test server, build f30319c.

## In Discord, without a bot

Discord's own client deletes one message at a time. These are the ways to make that faster.

1. **Delete without the confirmation.** Hover over a message, hold **Shift**, and press the red bin that appears. Holding Shift skips the "are you sure" step, so you can go down a channel quickly. Deleting other people's messages needs **Manage Messages**.
2. **Empty a whole channel by cloning it.** Right-click the channel, choose **Clone Channel**, then delete the original. The clone keeps the name, topic and permissions and has no messages. It is a new channel, so pins, webhooks and links to old messages are gone, and you need **Manage Channels**.
3. **Remove one member's recent messages with a ban.** The ban window has a **Delete Message History** choice, from the previous hour up to the previous seven days. It only helps when you are banning that member anyway.
4. **Stop the next wave.** AutoMod, under **Server Settings**, **Safety Setup**, blocks messages before they are posted, which saves the cleanup.

There is no built-in way to pick 100 messages and delete them together.

## With Bond, in one message

A real run, recorded on a test server: what was asked, what Bond asked back, what it did, and what members saw afterwards.

In #admin-chat:

> **You:** @Bond Delete the last 100 messages in #spam.

> **Question**
> for @You
> **Purge latest #spam messages**
> Fetch and request approval to delete the latest 100 messages in the identified #spam channel; pinned messages stay untouched.
> **Keeps:** Pinned messages
> Deleting messages is permanent. I’ll fetch the newest 100 messages from the selected channel, then ask approval for that exact set; pinned messages are preserved unless you explicitly ask otherwise.
> **I can delete the 100 most recent messages in #spam, but first I need to identify the channel. Which #spam do you mean?**
> Expires in 10 minutes
>
> Buttons: Use the only #spam channel, I’ll specify another way, Other. Pressed: Use the only #spam channel.

> **Approve deleting the 100 newest messages in #spam?**
> for @You
> This permanently deletes those exact 100 newest messages in #spam. Pinned messages are excluded and preserved. Anything posted after the fetched set is not included.
> 100 messages in #spam
> Expires in 10 minutes
>
> Buttons: Delete 100 messages in #spam, Keep everything. Pressed: Delete 100 messages in #spam.

What Bond did:

- Ask questions
- List channels
- Fetch messages
- Ask deletion approval
- Bulk delete messages

> **Bond:** Deleted the 100 most recent messages in #spam. Pinned messages were preserved.

In #spam, afterwards:

- Message 1 of 105
- Message 2 of 105
- Message 3 of 105
- Message 4 of 105
- Message 5 of 105

What the delete removed:

- Messages before: 105
- Deleted: 100
- Left in the channel: 5

Light tier · 1 message · 46 seconds · 147K tokens

Recorded on a Bond test server on the Light tier, the tier every free plan runs on. Server, channel and member IDs are placeholders, the test bot is shown as Bond, and the steps where Bond loads its own tools or pages through a long result are left out. The test server has no plan limits, so the plan limits a step reports are left out. Bond's reply is shown without the action record it ends with.

The test account posted 105 numbered messages in #spam before asking, so the page can show which ones "the last 100" leaves. The request was sent in another channel, so it was not one of the 100. Bond first asked which #spam was meant, although the server had only one, and the recording picked it. Bond then read the newest 100 messages and showed an approval for that exact set. The recording pressed Delete 100 messages in #spam. Messages 6 to 105 were deleted and messages 1 to 5, the oldest, were still in the channel afterwards. None of the messages was pinned.

## The permissions it takes

Bond checks every step against your own Discord permissions and role position before it acts, and what it reads back is only what you can already see.

### What you need

- Ask questions: Nothing extra
- List channels: Nothing extra
- Fetch messages: View Channel or Read Message History in that channel
- Ask deletion approval: Nothing extra
- Bulk delete messages: Manage Messages in that channel

### What Bond needs

- **Manage Messages** in the channel, to delete messages other people wrote.
- **View Channel** and **Read Message History** there, to find the messages.

Bond's invite already grants these. A channel's own permissions can still deny Bond's role, so check **Edit Channel**, **Permissions** if Bond says it cannot see the channel.

## What to watch for

- Discord only lets a bot bulk delete messages that are less than 14 days old. Bond can remove older ones one by one under the same approval, which is slower.
- One batch is at most 100 messages, which is Discord's limit. A bigger cleanup runs as several batches.
- Pinned messages are kept unless you say to delete them too. The approval then says how many pinned messages go.
- The approval covers the messages that existed when you approved. Anything posted afterwards is not swept in.
- Deleting is permanent. Discord has no recycle bin, and Bond cannot bring a message back.
- Ask from another channel when you can. A request typed in the same channel is itself one of the newest messages there.

## Questions people ask

### Can I delete all messages in a channel at once?

In Discord, the quickest way is to clone the channel and delete the original, which gives you an empty copy with the same settings. With Bond, ask it to clear the channel. Messages under 14 days old go in batches of 100, and older ones are removed one at a time.

### Why can a bot not delete messages older than 14 days in bulk?

It is Discord's rule for every bot. The bulk delete that bots use refuses any message older than two weeks. Older messages can still be deleted individually.

### Can I delete only one member's messages?

Yes. Name the member and the channel. Bond finds that member's messages there, shows you the set and deletes it after you approve.

### Will Bond delete pinned messages?

Not unless you ask. Pinned messages are left out of a bulk delete. If you do want them gone, say so, and the approval tells you how many pinned messages it includes.

### Is it free?

Yes. Every tool works on the free plan. The run above shows how many tokens it used from the weekly allowance. A free account gets 600K tokens a week.

## Read next

- [Auto-delete messages in a channel](https://www.bondbot.gg/use-cases/auto-delete-messages): Keep a bot-commands or memes channel from growing forever by clearing it out on a schedule.
- [Moderate your server with plain English rules](https://www.bondbot.gg/use-cases/moderation): Timeouts, bans and cleanup driven by rules you describe in words, with every action checked against your real Discord permissions.
- [Set slowmode on a channel](https://www.bondbot.gg/use-cases/slowmode): Slow a channel down when it gets busy, on one channel or several at once, and lift it again when things calm down.
- [How to automate a Discord server](https://www.bondbot.gg/blog/how-to-automate-a-discord-server): The automation patterns worth building, event-driven versus scheduled, where Discord AutoMod belongs, and the limits nobody tells you about before you start.
