Install

usc is a command-line client for USC’s Brightspace, Web Registration, Handshake, Leavey Library room booking, and the public Schedule of Classes. Every command prints JSON, so an agent can run it and read the result.

With an agent

Ask Claude Code, Codex, Grok, or any agent that can run shell commands:

Set up the USC CLI for me: https://usc.sh/install.md

The agent installs usc and adds the skill. It signs you in with your NetID, password, and Duo bypass code, unless you run usc auth login in your own terminal first.

By hand

1. Install

macOS and Linux:

curl -fsSL https://usc.sh/install | sh

The script downloads the latest release for your platform into ~/.local/bin. Set USC_INSTALL_DIR to put it somewhere else.

With Go 1.24 or later, on any platform:

go install github.com/nsigel/usc-cli/cmd/usc@latest

On Windows without Go, download usc_<version>_windows_amd64.exe from the releases page and rename it to usc.exe.

2. Sign in

usc auth login

It asks for your NetID, password, and a Duo bypass code, then saves them on your machine. Every later command signs itself in. See Signing in.

3. Add the skill

The skill is a short Markdown file that teaches an agent the commands and their arguments. Ask your agent:

Add the usc skill: save the output of `usc skill` as a skill named usc-cli.

Or save it yourself. For Claude Code:

mkdir -p ~/.claude/skills/usc-cli
usc skill > ~/.claude/skills/usc-cli/SKILL.md

Try it

usc brightspace courses
usc libcal schedule --date tomorrow --category rooms --min-capacity 4
usc classes 20271 CSCI-270

Update

Run the install command again. usc version prints the version you have.