Desktop app · macOS · Windows · Linux
Freyja plans, schedules, and runs GitHub Actions
workflow_dispatch
triggers across your repos. Parallel or sequential. Approvals
inline. Logs tailed live. Schedules that fire while you sleep.
Free forever for casual use · One-time $39 unlocks Pro
Everything you need to coordinate workflows across a release night — or a recurring deploy cadence — in one place.
Bundle multiple workflow dispatches into a single named plan. Run them parallel or sequentially, with sequential stopping on failure.
Pick a future date and time, or a cron cadence. Freyja fires the plan automatically while it's open — perfect for deploy nights at 02:00.
Every terminal transition snapshots a record. Recurring plans build up a timeline you can audit — without leaving the app.
Tail GitHub Actions job logs live inside Freyja while a run is in progress. No more flipping between the app and a browser tab.
Before any dispatch fires, Freyja verifies the ref exists, the workflow is active, and required inputs are filled. Catch the "branch was renamed" failure before 2 AM.
Environment approval gates surface inline. A built-in tag picker lets you search a repo's tags and copy them straight into workflow inputs.
Get notified on plan completion and when an environment needs your approval. Click the notification to jump straight to the plan.
⌘K from anywhere. Fuzzy-jump to a plan, a config, or any action. Mouse is optional.
New releases roll out automatically. Freyja checks at every launch, downloads in the background, and prompts to restart when ready.
No subscription. No tier games. One license activates up to 3 of your devices.
For one-off and casual usage.
For ongoing deployment workflows.
Freyja checks once a minute while the app is open. If a plan is due (either a one-shot whose time has arrived, or a cron whose latest fire hasn't been claimed yet), it dispatches the workflows in the configured execution mode. Caveat: schedules only fire while Freyja is open. If your laptop is closed, the schedule won't catch up — that's the trade-off for being a desktop app with no backend.
Locally. There is no Freyja server. Plans, configs, run history,
and your GitHub token are stored in a JSON file on your machine
(~/Library/Application Support/Freyja on macOS,
%APPDATA%/Freyja on Windows, ~/.config/Freyja
on Linux). The app talks directly to api.github.com.
No. Freyja has no analytics, no event reporting, nothing phoning
home. The only network calls it makes are to GitHub's API and (for
Pro users) to a license-check endpoint that returns
{"ok": true} or
{"ok": false}.
Paddle handles refunds for up to 14 days, no questions asked. After a refund, your license auto-revokes on the next check (Pro features lock; free features keep working). See our Refund Policy for how to request one.
A classic PAT with repo and workflow
scopes, or the fine-grained equivalent. Freyja uses these to read
your repos, list workflows, fetch run status, trigger dispatches,
and approve / reject environment deployments.
The app source is private. This repo (freyja-releases)
hosts the public binaries, this site, and the issue tracker. PRs
aren't open right now; feedback via issues is welcome.
Free for one-off use. $39 once when you're ready for scheduling and recurring runs.