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

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."