When you review Discord server audit logs, you might notice certain moderator actions are missing. For example, a ban or a message deletion by a specific moderator does not appear, while other actions by the same person are logged correctly. This selective omission is not a bug but a direct result of how Discord manages permission inheritance and audit log visibility. This article explains the technical cause behind this behavior and provides a clear method to restore full logging for your moderators.
Key Takeaways: How Discord Audit Logs Handle Moderator Actions
- Server Settings > Audit Log: Shows all actions, but only for moderators who have the required permission for each action type.
- Server Settings > Roles > Manage Permissions: The “View Audit Log” permission alone does not guarantee all actions are visible.
- Server Settings > Roles > Permissions > Advanced Permissions: Missing sub-permissions like “Manage Messages” or “Ban Members” cause the audit log to skip those specific actions for that moderator.
Why Discord Audit Logs Filter Out Certain Moderator Actions
Discord’s audit log is permission-sensitive. The server audit log records every action taken by a member, but only displays actions to other members who have the corresponding permission. This is a privacy and security design: a moderator who cannot ban members should not see who banned whom. The root cause of selective skipping is that the moderator whose actions are missing does not possess the specific permission for the action type being reviewed. For instance, if a moderator has the “Moderate Members” role but lacks the “Manage Messages” permission, their message deletions will not appear in the audit log when you view it. The log itself still records the action, but it is hidden from viewers who lack the matching permission.
Additionally, Discord uses a hierarchical permission system. If a moderator’s role inherits permissions from a higher role, but that higher role has certain permissions denied, those denied permissions also apply to the moderator. This can result in a moderator who can perform an action in practice (due to a role with elevated permissions) but cannot see that action in the audit log because their primary role lacks the permission. This mismatch between action capability and log visibility is the primary reason for selective skipping.
Steps to Restore Full Audit Log Visibility for a Moderator
To ensure a moderator’s actions appear in the audit log for you or for other moderators, you must grant the moderator the correct permissions. Follow these steps:
- Identify the missing actions
Open Server Settings > Audit Log. Note which moderator actions are absent. Common missing actions include bans, kicks, message deletions, and channel edits. - Check the moderator’s role
Go to Server Settings > Roles. Select the role assigned to the moderator whose actions are skipped. Scroll to the General Permissions and Advanced Permissions sections. - Enable the corresponding permission
For each missing action, enable the permission that controls it. For bans, enable “Ban Members”. For kicks, enable “Kick Members”. For message deletions, enable “Manage Messages”. For channel edits, enable “Manage Channels”. For role changes, enable “Manage Roles”. - Verify inheritance and overrides
Check if the role inherits permissions from another role. If a higher role denies a permission, that denial applies even if the moderator’s role grants it. To fix this, either remove the denial from the higher role or create a new role without the denial and assign it to the moderator. - Save and test
Click Save Changes. Ask the moderator to perform a test action, such as deleting a message in a test channel. Refresh the audit log and confirm the action appears.
If Discord Still Skips Actions After the Main Fix
Moderator actions still missing after granting permissions
If the moderator’s actions remain hidden, check the “View Audit Log” permission. Go to Server Settings > Roles > the moderator’s role > General Permissions. Ensure “View Audit Log” is enabled. Without this permission, the moderator cannot see any audit log entries, including their own actions. Also confirm that the person viewing the audit log has the same permissions as the moderator. If the viewer lacks the permission for an action, that action will not appear for them.
Actions by server owner not showing
The server owner bypasses all permission checks. Their actions always appear in the audit log for anyone with “View Audit Log” permission. If the owner’s actions are missing, the issue is likely a permission denial on the viewer’s role. Grant the viewer “View Audit Log” and the specific permission for the action type (e.g., “Ban Members” to see bans).
Channel-specific actions are skipped
Some actions, like message deletions or channel edits, are channel-specific. If the moderator has the permission globally but a channel override denies it, the action will still be logged but may not be visible to viewers who lack the override. Check the channel settings: right-click the channel > Edit Channel > Permissions. Ensure the moderator’s role has the required permission allowed at the channel level.
Discord Audit Log Permissions: Viewer vs Actor
| Item | Viewer (person reading the log) | Actor (moderator performing the action) |
|---|---|---|
| Permission needed to see the action | Must have the same permission as the action type (e.g., “Ban Members” to see bans) | Must have the permission to perform the action (e.g., “Ban Members” to ban) |
| Result if permission is missing | Action is hidden from the viewer’s audit log | Action is still recorded but hidden from viewers without the permission |
| Common fix | Grant the viewer the missing permission on their role | Grant the actor the missing permission or ensure no overrides deny it |
Discord’s audit log selectively skips moderator actions because of permission-based filtering. By granting the specific permission for each action type to both the moderator and the viewer, you ensure full visibility. Start by checking the moderator’s role permissions and enable any missing sub-permissions such as “Manage Messages” or “Ban Members”. For advanced control, use the “Permissions” tab in each channel to allow or deny permissions at the channel level. This approach gives you complete control over which actions appear in your server audit logs.