ForeCal icon: a sun rising over a week of calendar days

ForeCal

A menu bar calendar for your Mac that looks ahead: your events, the weather, and when to leave.

Free and open source · macOS 14 Sonoma or later · Signed downloads coming soon

ForeCal's panel: a month grid above a scrolling agenda with weather, Join buttons, and leave-by times

What's next, at a glance

The menu bar tells you what matters right now, so you rarely need to open anything.

🚗 Leave in 12mTime to head out to an in-person event
Design review · 25mSomething starts within half an hour
Planning · ends 3:00 PMYou're in an event

Everything your day needs, nothing it doesn't

ForeCal shows the calendars you already have in macOS Calendar: iCloud, Google, Exchange, and more.

🚗

Leave-by times

Drive times from Apple Maps, with traffic, for in-person events in the next two days. A Directions button opens the route.

⛅️

Weather for every day

Highs, lows, and the chance of rain, 16 days out, right in your agenda.

🎥

One-click Join

Zoom, Google Meet, Teams, Webex, FaceTime, and more get a Join button.

🗓️

Grid and list in sync

Scroll the agenda and the month follows. Click a day and the agenda jumps there. Headers stay pinned.

🕒

A now line

Today's list shows the current time and how long until your next event.

🎨

Yours to tune

Choose which calendars appear and the color for today. Light and dark mode follow your Mac.

Private by design

No account, no server, no analytics. ForeCal only reads your calendars; it never changes them.

What leaves your Mac

  • Weather: your location, rounded to about 1 km, goes to Open-Meteo.
  • Drive times: your location and the addresses of upcoming in-person events go to Apple Maps.
  • Everything else, from titles to notes to attendees, stays on your Mac.

Get ForeCal

Signed, notarized downloads are coming soon on the releases page. Until then, build it from source in about a minute with Xcode or the Command Line Tools:

git clone https://github.com/chuckconway/forecal.git
cd forecal
./build.sh --install