Let the client do the plumbing.
Automatic pagination, adaptive rate limiting, and exponential-backoff retries. Focus your scripts on the task, not the HTTP housekeeping.
PAGINATION / RETRIES / QUOTAS
The power of the Canvas API.
The precision of your terminal.
Bulk grade a class. Pipe course data into a script. Give your AI agent the tools to do both. One open-source binary, built for the way you actually work.
Explore real commands and illustrative output.
Choose a
workflow to see how it fits together.
# Every course you can access. One command.
canvas courses list --output json
[
{ "id": 1042, "name": "Design Fundamentals",
"workflow_state": "available" },
{ "id": 1043, "name": "Creative Coding",
"workflow_state": "available" }
]
✓ Structured output. Ready for whatever comes next.
Stop copying data out of the browser. Get consistent, structured output you can filter, save, and reuse.
Workflow docs ↗Animated walkthroughs with sample data. Commands are not executed, and no Canvas account is connected.
From course content to institution-level admin.
A broad Canvas
API surface, with endpoint paths
validated against the official
spec in CI.
documented API endpoints implemented
Explore the command reference
The same Canvas operations, wherever you work.
No separate
integration to maintain for your agent.
Explore Canvas in the interactive shell, with command history and completion. Set a course context once and stop repeating the same flags.
Explore context management ↗# Start an interactive session
canvas repl
# Set your working course
canvas context set course 123
# Use it across commands
canvas assignments list
Automatic pagination, adaptive rate limiting, and exponential-backoff retries. Focus your scripts on the task, not the HTTP housekeeping.
PAGINATION / RETRIES / QUOTAS
Named Canvas instances and a per-command
--instance flag. Work across production and sandbox
without swapping configuration files.
OAuth 2.0 with PKCE, system keyring integration, and cosign-signed release checksums with SBOMs. Inspect the source. Verify the binary.
READ THE SECURITY DOCS ↗
Install. Authenticate. Execute.
Works with the permissions
you already have in Canvas.
brew tap jjuanrivvera/canvas-cli
brew install canvas-cli
For macOS and Linux with Homebrew installed.
canvas auth login \
https://your-school.instructure.com
Authentication setup ↗
An independent, MIT-licensed command-line interface for Canvas LMS, built with Go. It brings course management, grading, enrollments, and administration to your terminal, scripts, and AI assistants.
You need your Canvas instance URL and authorized API access. The operations you can perform depend on your account permissions and institution settings. Start with the authentication guide.
The MCP server exposes CLI commands as tools with typed parameters and structured JSON output. The bundled skill teaches agents how to use the CLI. You can generate host-specific guard rules to block destructive actions and require approval for writes. See agent safety for setup and limitations.
No server is needed for normal CLI use. Install the binary, authenticate, and run commands. For an AI client, the same binary can run as an MCP server over STDIO or HTTP.
Your LMS has an API.
Now it has a command line.