canvas

Fetch enrolled courses and assignments from Canvas LMS via REST API token authentication.

Updated Jun 7, 2026
One-click install
npx skills add https://github.com/Chensihakniroth/ANAKOT-AGENT --skill canvas-chensihakniroth
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: canvas
Source: https://github.com/Chensihakniroth/ANAKOT-AGENT/tree/main/optional-skills/productivity/canvas
Command: npx skills add https://github.com/Chensihakniroth/ANAKOT-AGENT --skill canvas-chensihakniroth

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, and includes scripts (resource) components.

What problem does it solve? Students and educators often need programmatic access to their Canvas LMS data without manually browsing the web interface. This Skill provides read-only CLI access to list enrolled courses and assignments directly from the Canvas REST API. ## Core Features & Use Cases - Course Listing: Retrieve all enrolled courses with filtering by enrollment state (active, invited_or_pending, completed). - Assignment Retrieval: List assignments for any course with details like due dates, points possible, and submission types, sortable by due date. - Automatic Pagination: Handles Canvas Link-header pagination transparently, fetching up to 200 items per query. - Use Case: A student wants a quick overview of all upcoming deadlines across courses. Run list_courses to get course IDs, then list_assignments for each course ordered by due_at to build a personal deadline tracker. ## Quick Start Use the canvas skill to list my active courses and show all assignments due soon for each course.

Frequently Asked Questions about canvas

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I list my Canvas LMS courses from the command line?▼

Run the canvas_api.py script with the list_courses command after setting CANVAS_API_TOKEN and CANVAS_BASE_URL environment variables. Use --enrollment-state active to filter for currently active courses only.

How to get Canvas assignments sorted by due date?▼

Use the list_assignments command with a course ID and the --order-by due_at flag. The script returns JSON with each assignment's name, due_at timestamp, points possible, and submission types.

How do I create a Canvas API access token?▼

Log in to Canvas, go to Account then Settings, scroll to Approved Integrations, and click New Access Token. Copy the generated token into your environment as CANVAS_API_TOKEN along with your institution's base URL.

Why does the Canvas API return 401 Unauthorized?▼

A 401 error means the access token is invalid or expired. Regenerate a new token in Canvas Settings under Approved Integrations and update the CANVAS_API_TOKEN environment variable.

Can this tool submit assignments or modify Canvas courses?▼

No, this integration is strictly read-only. It only fetches course and assignment data through GET requests and never modifies, submits, or deletes any Canvas content.

What are the Canvas API rate limits for listing assignments?▼

Canvas rate-limits to roughly 700 requests per 10 minutes. The script handles pagination automatically, but if you hit limits, check the X-Rate-Limit-Remaining response header and reduce request frequency.