Canvas's to-do list only shows the next 7 days
Canvas's to-do list is not a list of everything you have due. It shows assignments due in a window from four weeks back to just one week ahead — anything due further out is not in the feed, no matter how big it is. The window is the default in Canvas's own source, and Instructure's Users API reference — the page documenting this endpoint — does not state it.
What you see
You know a paper is due in two weeks, but the Canvas to-do list acts like it doesn't exist. Then it appears out of nowhere with a week to go, and the runway you thought you had is gone. A widely repeated version of this says Canvas shows "about two weeks." It doesn't — it's one.
Why it happens
The feed behind the to-do list (GET /api/v1/users/self/todo) is built by a scope in Canvas's source that takes due_after: 4.weeks.ago, due_before: 1.week.from_now as its defaults. One week forward, unless a caller overrides it — and the to-do endpoint does not. Instructure's Users API reference, the page documenting this endpoint, says only that there is "a limit to the number of items returned"; it does not state the window.
What you can do about it
The Canvas calendar view does show dates beyond a week, so use it — not the to-do list — for planning ahead. The calendar's iCal export reaches much further out than the to-do list, with limits of its own (see the calendar feed's hard limits). And the syllabus is still the only complete record for anything an instructor never entered into Canvas.
Evidence
canvas-lms, app/models/user_learning_object_scopes.rb (master branch, retrieved 2026-07-30): assignments_needing_submitting(due_after: 4.weeks.ago, due_before: 1.week.from_now, …). Instructure Users API reference (developerdocs.instructure.com/services/canvas/resources/users): "there is a limit to the number of items returned" — no window documented.
Margin's free extension tier syncs the next week of Canvas assignments and calendar feeds — the same one-week window the to-do feed exposes. The Margin Pass adds whole-semester foresight, and it gets there by asking Canvas a different question: switched on, it reads each course's own assignment list instead of the to-do feed, so the rest of the term is visible. Calendar feeds and syllabus import fill in the same view.