The Canvas calendar shows only ten calendars at a time
The Canvas Calendar shows at most ten calendars at once. Your personal calendar, your courses, your groups and any school account calendars you have added share those ten places, and the number is a setting on your school's Canvas account that defaults to ten. Switch on an eleventh and Canvas does not refuse or warn you: it switches off one you already had on. If you have more than ten, some of your due dates are not on the calendar you are looking at, and the grid gives no sign which.
What you see
You open the Calendar to plan the week, and it looks complete. But between your personal calendar, eight courses and three groups, you have twelve calendars, and Canvas is drawing ten of them. The other two are still listed in the sidebar, in faded text, which is easy to miss.
So you click one on. It appears. And one of the calendars you were relying on goes faded instead, without a message. Click that one back on and a third goes off. It feels like a bug. It is the limit doing exactly what it was written to do.
Why it happens
The Calendar page is handed a limit when it loads: a setting on your school's root Canvas account, or ten if the school never set one. The sidebar keeps the list of calendars you have switched on. When you switch one on, Canvas adds it to the end of that list, and if the list is now longer than the limit, it removes the one at the front. Then it saves the list to your account, so the same ten come back next time.
If you have never changed the selection, Canvas fills the ten places for you, in order: your personal calendar first, then the courses you have starred, then the rest of your courses by name, then your groups, then any school account calendars you have added. Anything past the tenth place starts out off.
The limit is not only in the page. Canvas's calendar API, which the page uses to fetch events, keeps the first ten calendars it is asked for (or whatever number the school set) and ignores the rest.
What you can do about it
- Count your calendars. Your personal calendar is one. Every course is one. Every group you are in is one, including groups an instructor put you in. So is every school account calendar you have added, or that your school added for you. If the total is over ten, the Calendar cannot show you all of it at once.
- Switch off the calendars that never carry a date. A finished group project or a club with no events is using a place a course could have.
- After switching one on, check what went off. Calendars that are off show in faded text in the sidebar. The one Canvas switched off for you is the one to look at.
- Use something that ignores the selection. The To Do list is built from all your courses, not from the calendars you have on. So is the calendar feed: it covers your courses and groups whatever the sidebar says. The feed has limits of its own, and its address works like a password.
- Ask your school. The number is a setting on your school's Canvas account. A help desk can tell you what yours is, even if it will not change it.
Evidence
canvas-lms, app/views/calendars/show.html.erb:31 (master, retrieved 2026-10-30), in the settings the Calendar page is given when it loads:
:VISIBLE_CONTEXTS_LIMIT => @domain_root_account.settings[:calendar_contexts_limit] || 10,
canvas-lms, ui/features/calendar/jquery/sidebar.jsx:94-104 (master, retrieved 2026-10-30), what happens when you switch a calendar on:
toggle(context) {
const index = $.inArray(context, this.contexts)
if (index >= 0) {
this.contexts.splice(index, 1)
} else {
this.contexts.push(context)
if (this.contexts.length > ENV.CALENDAR.VISIBLE_CONTEXTS_LIMIT) {
this.contexts.shift()
}
}
return this.notifyOnChange()
}
notifyOnChange saves the list to your account (POST /api/v1/calendar_events/save_selected_contexts, :107-112), and app/controllers/calendars_controller.rb:44-50 reads it back from your selected_calendar_contexts preference the next time the page loads. When there is no saved list, the same file starts from every calendar you have and keeps the first ten (:48-63, this.contexts.slice(0, ENV.CALENDAR.VISIBLE_CONTEXTS_LIMIT)).
canvas-lms, app/controllers/calendars_controller.rb:36 asks for the calendar list with favorites_first: true, and app/controllers/application_controller.rb:1589 and :1648-1655 build it as your personal calendar, then courses sorted starred-first and then by name, then groups, then enabled account calendars (toggleAccount goes through the same toggle; app/controllers/calendars_controller.rb:47-55 can auto-subscribe students to them).
canvas-lms, app/controllers/calendar_events_api_controller.rb:2109-2110, the API's own copy of the limit:
context_limit = @domain_root_account.settings[:calendar_contexts_limit] || 10
codes = (params[:context_codes] || [user.asset_string])[0, context_limit + ag_count]
(ag_count counts appointment groups, which do not use up a place.)
The calendar feed is built by public_feed in the same file (:1220-1233), which calls get_options(nil): with no list of calendars passed in, every calendar Canvas counts as yours is selected (:1681-1682). The to-do feed behind the To Do list reads @current_user.courses (app/controllers/users_controller.rb:968), not the calendar selection.
Instructure Community, How do I use the Calendar? (retrieved 2026-10-30): "By default, the first 10 course and group calendars will be selected and appear in the calendar view." and "Calendars that are not active within the calendar view display as faded text."