Prerequisites
A prerequisite is something a learner must complete before they can enroll in a course or a learning path. Any course or learning path can have any number of prerequisites, and each prerequisite can itself be a course or a learning path.
Typical uses:
- “Advanced Safety” requires the “Safety Basics” course.
- The “Leadership” learning path requires the “Manager Onboarding” path and the “Code of Conduct” course.
- A certification exam course requires the whole preparation path.
Prerequisites
- Role: Admin (or Owner). An Instructor can manage prerequisites only on the courses they are assigned to.
- The items you want to require must already exist. Draft items can be selected; learners cannot complete a draft, so publish it before you expect anyone to get through.
Add prerequisites to a course
- In the left sidebar, go to Courses and open the course.
- Open the Settings tab and find the Prerequisites card.
- In Add a prerequisite, type part of a course or learning path title. Results show a Course or Learning path badge.
- Click a result to add it to the list. Repeat for every item you want to require.
- Click Save prerequisites.
Prerequisites are course-level settings: they are not part of a course version, so you can change them on a published course without starting a new version.
Add prerequisites to a learning path
- Go to Learning Paths and open the path.
- Scroll to the Prerequisites section below the path form.
- Search, add, and remove items exactly as for a course, then click Save prerequisites.
A path-level prerequisite is checked when the learner enrolls in the path. It is separate from the path’s own locked release (see Learning Path Enrollment), which orders the courses inside the path.
Remove a prerequisite
- Open the course or path.
- In the Prerequisites list, click Remove next to the item.
- Click Save prerequisites.
Removing a prerequisite never changes existing enrollments; it only stops blocking new ones.
What learners see
- On the course or path page, a Prerequisites section lists every required item with the learner’s own status: Completed, In progress, or Not started. Each row has a View link into the item.
- While any item is not completed, the Start / Enroll / Buy button is replaced by “Complete the prerequisites first”.
- A learner who is already enrolled keeps access and still sees the list.
How completion is decided
| Prerequisite type | Counts as completed when… |
|---|---|
| Course | The learner’s enrollment in that course has the status Completed |
| Learning path | The learner’s enrollment in that path has the status Completed (every required course in it done) |
Nothing else counts. An in-progress enrollment, a passed quiz in an otherwise unfinished course, or a certificate from a previous version does not satisfy a prerequisite.
Where prerequisites are enforced
The same check runs on every way into a course or path, so there is no back door:
| Entry point | Behaviour when a prerequisite is unmet |
|---|---|
| Learner Enroll / Start button | Button replaced by the notice above |
| Admin Enroll users (single or bulk) | The user is skipped with the reason “Prerequisites not met: …” |
| Assigning a course to a group | Members who have not met the prerequisites are reported as skipped |
| Approval of a pending enrollment | Approval is refused until the prerequisites are met |
REST API POST /api/v1/enrollments | 422 with the unmet items named |
| Enrolling in a learning path | Refused before any course inside the path is touched |
Auto-enrollment rules and the path’s own linear release enroll the learner as the system; those are not gated (they only ever follow a completion the learner already earned).
Configuration reference
| Field | Description |
|---|---|
| Prerequisite list | Zero or more courses and/or learning paths. All must be completed. Order does not matter. |
| Add a prerequisite | Searches titles of live (non-archived, non-deleted) courses and paths. The item you are editing never appears in its own results. |
| Deleted — remove it | Shown on an item whose course/path has since been deleted. It is ignored by the check (it could never be completed) and should be removed. |
Rules the editor enforces
| Rule | What happens |
|---|---|
| No self-reference | An item cannot require itself |
| No loops | If “A” requires “B”, you cannot make “B” require “A” (directly or through other items). The save is refused with an explanation. |
| Must exist | Only existing courses/paths can be required |
CSV import
The Switcher path-to-course mapping file still accepts prerequisite_course_slug (see Data Import). Each such row creates a course → course prerequisite on the mapped course. Path-level prerequisites and path-type prerequisites are managed in the UI only.
Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
| ”These prerequisites would form a loop” | One of the items you added already requires the item you are editing, directly or indirectly | Remove the conflicting item, or change the other item’s prerequisites first |
| ”One of the selected items no longer exists” | An item was deleted between search and save | Remove it from the list and save again |
| A learner completed the course but is still blocked | They completed a different version and their enrollment status is not Completed, or the prerequisite is a path they never enrolled in | Check the learner’s enrollment status on the prerequisite; for a path, enroll them in the path so it can complete |
| Bulk enroll skipped users with “Prerequisites not met” | Expected — the check applies to admin enrollments too | Complete or remove the prerequisites, then re-run the bulk enroll |
| I cannot see the Prerequisites card | You do not hold course:update (course) or path:edit (path), or as an instructor the course is not assigned to you | Ask an admin to assign the course or adjust the role |