Install Class Schedule.

Five short steps. The first time you launch, macOS will show a scary popup — that is expected, and the next section explains exactly why.

Heads up

macOS will say “this app is from an unidentified developer.” That is normal.

Class Schedule is NOT a virus. I (Ben) didn’t pay Apple’s $100/year Developer Program fee, so macOS shows a scary popup for indie apps. Big-tech apps don’t get this popup because they pay Apple. The code is fully open-source on GitHub — you can read every line.

YOU MUST go to System Settings → Privacy & Security → click “Open Anyway” the first time, OR right-click the app and choose “Open” → “Open” again. After that, it just works.

Step by step.

About a minute, start to finish.

Unzip and drag to Applications.

Double-click the .zip in your Downloads folder, then drag ClassSchedule.app into /Applications.

Double-click. macOS will block it. Click OK.

This is Gatekeeper doing its job. Don’t panic — just dismiss the dialog. We’ll fix it permanently in the next step.

Open Anyway.

Open System Settings → Privacy & Security. Scroll down to the “Security” section. You’ll see a row mentioning ClassSchedule — click Open Anyway.

Drop it on your desktop.

Right-click your desktop → Edit Widgets, find Class Schedule in the picker, and drag the size you want into place. That’s it.

One-line installer (advanced).

If you trust the script, this downloads and installs in one step.

$ curl -L https://github.com/bendawg2010/ClassSchedule/releases/latest/download/install.sh | bash

Troubleshooting.

I clicked “Open Anyway” but nothing happened.

macOS pops up one more confirmation. Look for a smaller dialog asking you to enter your password or use Touch ID, then click Open. If you don’t see it, switch back to System Settings → Privacy & Security and try again.

My widget shows the wrong day or wrong period.

Open the main Class Schedule app and check that your rotation anchor date is set correctly — that’s the calendar date the cycle is pinned to (typically the first day of school). Also confirm your weekday templates and any holiday skips. Open the app once after editing so the desktop widget gets a fresh timeline; it can take a minute to refresh because macOS WidgetKit caches it. If it’s still off, you can force a refresh from classschedule://reload.

I’m on macOS Sonoma or older.

Class Schedule is built for the new desktop-widget system in macOS Tahoe. Older versions of macOS won’t support the desktop placement, but the in-app schedule still works. Upgrade if you can — the desktop experience is the whole point.

I want to add or remove a class.

Open the Class Schedule app, go to Classes, and tap the + to add a new one or swipe to delete. To change which classes appear on which cycle day, use Rotation and drag classes between day slots. Changes apply to the desktop widget on the next refresh (within a few minutes).

How do I uninstall?

Drag /Applications/ClassSchedule.app to the Trash. To wipe your stored schedule too, also delete ~/Library/Containers/com.bendawg2010.ClassSchedule.

Is there a Homebrew cask?

Not yet. Once the app is signed and notarized, a Homebrew cask is on the roadmap. Star the repo to be notified.