Park, discard and purge
Not every dead letter should go back. Some are poison (they fail every time), some are obsolete, some belong to a test. Warren has three ways to deal with them, all for operators and admins, all in the audit log.
Park
Park (m) moves messages to <queue>.parking: out of the way of replays and replay rules, but not lost.

- The messages keep every header,
x-deathincluded, so a later replay from the parking queue still goes to the original route. - Each one gets
x-warren-parked-from,x-warren-parked-at,x-warren-parked-byand the optional note asx-warren-park-reason. - Warren creates the parking queue as a plain durable queue the first time (this needs configure permission; otherwise create it once yourself) and uses an existing one as it is.
Parking queues are tagged PARKED in the queue list. Open one, fix the cause, and replay from there.
Discard
Discard (d) removes messages for good. It needs a reason of at least three characters, which goes into the audit log next to each message's id, fingerprint and a preview of its payload.

Purge
All messages in the queue in the discard dialog purges: the broker empties the queue in one step, whatever its size. The audit log keeps who, why and how many, no message contents. Messages consumers hold unacknowledged stay, and streams cannot be purged.
Warren counts the queue first and stops if more messages arrived before you confirm, see Dry run.
Bulk actions and approvals
"The first N" and "every match" are frozen by a dry run before they can be confirmed. In Pro, discards and purges can wait for a second operator: see Four-eyes approval.