Skip to content

Home

Canvas CLI

A powerful command-line interface for Canvas LMS

Go Version License Release

Features

  • Comprehensive API Coverage - Access courses, assignments, submissions, users, modules, pages, and more
  • Multiple Output Formats - Table, JSON, YAML, and CSV output
  • Bulk Operations - Grade submissions in bulk from CSV files
  • Course Synchronization - Sync content between Canvas instances
  • Intelligent Caching - Fast responses with automatic cache invalidation
  • Secure Authentication - OAuth 2.0 with PKCE flow

Quick Start

brew tap jjuanrivvera/canvas-cli
brew install canvas-cli
go install github.com/jjuanrivvera/canvas-cli/cmd/canvas@latest

Download the latest release from GitHub Releases.

Then authenticate with Canvas:

canvas auth login

Example Usage

# List your courses
canvas courses list

# List assignments for a course
canvas assignments list --course-id 123

# Grade a submission
canvas submissions grade 456 --course-id 123 --score 95

# Bulk grade from CSV
canvas submissions bulk-grade --course-id 123 --csv grades.csv

# Export data as JSON
canvas users list --course-id 123 --output json

Documentation

  • Getting Started


    Install Canvas CLI and authenticate with your Canvas instance

    Installation

  • User Guide


    Learn how to configure and use Canvas CLI effectively

    User Guide

  • Command Reference


    Complete reference for all available commands

    Commands

  • Tutorials


    Step-by-step guides for common workflows

    Tutorials

Support

License

Canvas CLI is released under the MIT License.