
Moodle Permission and Access Control Troubleshooting
Diagnose and fix Moodle permission and role inheritance issues fast
What You Can Do
Systematically troubleshoot Moodle permission issues by analyzing role inheritance chains, capability conflicts, and context-level assignments. You'll quickly identify why users can't access content or have unexpected permissions, then get step-by-step remediation guidance tailored to your issue.
Features
Trace permission inheritance across course, category, and system contexts to identify where permissions change
Spot capability overrides, conflicting role assignments, and permission contradictions across context levels
Check exactly what courses, assignments, and resources a specific user can and cannot access
Verify role assignments are applied at the correct context level (system, category, course, activity)
Answer prompted questions to narrow down the root cause without needing deep Moodle expertise
Get exact SQL queries or step-by-step admin UI instructions to fix identified permission issues
View complete lists of which capabilities are allowed, denied, or prohibited in each role
Ensure troubleshooting steps apply to your specific Moodle version
Example Output
User Access Issue Diagnosis
Problem: Student can't see assignment in Course 123
Diagnosis Steps:
- Check User Role in Course: Student role confirmed (Context: Course 123)
- Capability Check:
mod/assign:view— ✓ Allowed in Student role - Context-Level Override: Found! Parent category has role override
- Root Cause: Category-level "Student" role prevents
mod/assign:view
Fix Options:
- Option A: Remove the category-level Student role override
- Option B: Add explicit allow in course context (Admin → Roles → Define Roles → Manage Role Assignments)
Multiple Role Conflict Resolution
Symptoms: Teacher has conflicting permissions (can create quiz but not see results)
Analysis:
- Teacher role: Quiz creation = ✓ Allowed | Quiz viewing = ✗ Not allowed
- Custom "Course Manager" role assigned: Both allowed ✓
- Issue: Teacher role at system level overriding course-level "Course Manager"
Recommended Fix:
- Go to Course → Roles → Assign Roles
- Drag "Course Manager" above "Teacher" to increase priority
- Verify permissions are restored using the auditor
What's Included
- SKILL.md: Complete Moodle permission troubleshooting workflow with decision trees and diagnostic questions
- Role Inheritance Diagnostic Checklist: Step-by-step framework for analyzing permission chains from system to activity level
- Capability Reference Template: Index of common Moodle capabilities (view, edit, create, manage) and what each controls
- SQL Query Templates: Pre-built queries to audit roles, capabilities, user assignments, and role overrides in your Moodle database
- Admin UI Navigation Guide: Annotated steps for using Moodle's web interface (Roles, Permissions, User Accounts sections)
- Common Permission Scenarios & Fixes: Quick-reference guide for typical problems (students locked out, teachers can't grade, category restrictions, etc.)
Who It's For
- Moodle administrators managing institutional LMS instances
- Course creators troubleshooting access issues for students
- IT staff supporting educational institutions with Moodle deployments
- Learning technologists designing role and permission configurations
- Help desk specialists resolving user access complaints
Best For
- Diagnosing why a user can't access a course, assignment, or resource
- Resolving role inheritance conflicts and capability overrides across contexts
- Auditing which users have which permissions in specific courses or categories
- Fixing permission issues when moving or copying courses between contexts
- Troubleshooting permission problems after role configuration changes or updates







