Skip to content
Latchkey
Documentation menu

Plans and the free trial

The Developer, Launch, Scale, and Enterprise plans compared, how the 30-day free trial works, and exactly what happens when it ends.

The Change Plan picker
Change Plan: move between tiers yourself, any time.

The plans#

DeveloperLaunchScaleEnterprise
Price$5/month$19/month$49/monthCustom
Monitored repositories1Up to 10Up to 40Unlimited
Free runner minutes/month2,0004,0006,000Custom
Dashboard seats included11 (+$5/seat)5 (+$5/seat)Custom
Team invitesNoYesYesYes
Warm runner poolNoYesLarger, multi-sizeCustom + priority capacity
Custom runner configsNo210Unlimited

Every plan includes managed runners from $0.0025/min (up to 69% cheaper per runner minute than GitHub-hosted), self-healing on every runner with no separate fee, cost and performance analytics, and AI-powered build optimizations. The free minutes also beat GitHub's: 4,000 a month on the mid tier, vs 3,000 on GitHub. Enterprise adds negotiated rates and custom pool sizing; contact sales.

Choosing a plan#

Two numbers decide it for most teams: how many repositories you want monitored, and how many people need dashboard seats. Free minutes usually matter third; the runner cost calculator tells you whether your expected usage clears an allowance. As guidance:

soloDeveloperYou work alone on one repository. Team invites are off, so this plan is genuinely single-player: 1 monitored repo, 1 seat, and 2,000 free runner minutes for $5/month.
teamLaunchA team with up to 10 repositories. Adds team invites, warm pool capacity for fast pickups, 2 custom runner configurations, and 4,000 free minutes; extra seats are $5/month each.
growthScaleUp to 40 repositories and 5 included seats. The warm pool grows larger and multi-size, custom configurations go to 10, and free minutes to 6,000.
customEnterpriseUnlimited repositories with custom seats and minutes, negotiated rates, and custom pool sizing with priority capacity.

If you sit between two plans, start on the lower one: Change Plan upgrades in place from the billing modal, and changing plans later never restarts your trial, so there is no penalty for starting small. One nuance worth knowing before picking Developer: it has no warm runner pool, so every managed-runner job is a fresh cold start (about 10 seconds) rather than a warm pickup in a few seconds.

How the trial works#

  • Every plan starts with a 30-day free trial.
  • Developer and Launch start without a credit card: pick the plan and you are in onboarding immediately.
  • Scale goes through Stripe checkout first, with the trial applied there.
  • The trial is once per workspace: converting or changing plans later does not restart it.

The trial timeline#

01Day 0Pick a plan; Developer and Launch need no card
02Day 27"Trial ending soon" notice in the dashboard and by notification
03Day 30Trial ends: dashboard and runner launches pause
04SubscribeEverything restores immediately; data was never touched

What happens when the trial ends#

If you have not subscribed by the end of day 30:

  • The dashboard is replaced by a "Your free trial has ended" screen prompting you to subscribe; the data itself is preserved.
  • API access for the workspace is blocked with the same message.
  • Managed runner launches are blocked. Jobs targeting latchkey-* labels stay queued on GitHub rather than erroring; a "Managed runner blocked" notification is sent.
  • Subscribing on the activation screen restores everything immediately; your history is intact.

The detail that surprises people: blocked runner jobs do not error. A job targeting a latchkey-* label after the trial lapses just sits in queued on GitHub, which looks identical to every other routing problem; the "Managed runner blocked" notification is the explicit tell, and Troubleshooting walks the same symptom. Note that a card-less trial can hit a similar wall before day 30 if the included runner minutes run out first; see Runner usage and free minutes.