FAQ
Frequently Asked Questions
Find answers to common questions about Latchkey's CI/CD analytics and optimization platform.
Self-Healing
What is self-healing?
Self-healing is a Latchkey runner capability that automatically detects, diagnoses, and fixes failing CI/CD build steps while the job is still running, so your pipeline keeps moving without a human in the loop.
What types of errors does self-healing catch?
Transient and environmental failures: network issues (registry timeouts and 5XXs from npm, Yarn, PyPI, Docker, Terraform), memory errors (OOM kills, SIGKILL), disk-full errors (ENOSPC), missing tools (command-not-found, installed from a vetted allowlist), and environment or config drift (missing variables, toolchain version mismatches, file-handle limits). Real bugs in your code, like failing tests or compile errors, are explicitly not healed and fail with the original logs.
Which Latchkey runners support self-healing?
All Latchkey runners. It runs on both warm-pool and cold-start runners with no additional setup.
Is self-healing enabled by default?
Yes. Every Latchkey organization has self-healing enabled by default on every runner. Owners and admins can turn it off for the whole organization in Settings > Self-Healing, or toggle it per runner configuration if you want it off for specific runners only.
Does self-healing cost extra?
No separate fee. Self-healing runs inline during your workflow, so any extra runtime it adds is billed at the standard per-minute rate of the runner that step is using. That's the same rate you'd pay for any other CI minute on that runner.
How does self-healing fix a failure so quickly?
When a step fails, Latchkey diagnoses the cause and applies the appropriate fix in seconds. Simple transient failures are retried immediately; more complex failures are resolved by an AI agent operating within a bounded action set. Either way, the build keeps moving without a human in the loop.
What data does the AI agent see, and does it touch my code?
The agent receives stderr, stdout, exit code, and a curated set of manifest files (e.g., package.json, requirements.txt) so it can reason about the failure. Source code is not sent. The agent's actions are bounded to a vetted allowlist; it cannot run arbitrary commands or modify your code.
Can self-healing fix a problem permanently?
Yes, through heal pull requests. When a successful heal traces back to a structural cause, like a setup step missing from the workflow or a too-low job timeout, Latchkey can open a pull request with the durable fix for you to review and merge. Durable changes only ever arrive as reviewable PRs; self-healing never modifies your code during a run.
Can I see what self-healing did to my build?
Yes. The dashboard's Recent Heals view shows the verdict, the cause category, the action taken, and (for AI-agent heals) the full agent transcript and cost.
Latchkey Runners
What are Latchkey Runners?
Latchkey Runners are high-performance, ephemeral GitHub Actions runners that you can adopt with a single line change in your workflow YAML (for example: runs-on: latchkey-medium). Four preset sizes are available (small, medium, large, and extra large), and AI Scan Runners can generate a runner tailored to your repository. Each job runs in a fresh, isolated environment that cold-starts in about 10 seconds, where GitHub-hosted runners typically take 30 to 60 seconds, and warm runners pick jobs up in seconds. Runners are fully compatible with existing GitHub Actions workflows.
How do I switch to Latchkey Runners?
Adoption is simple: replace your existing runs-on value (e.g., runs-on: ubuntu-latest) with the Latchkey runner label of your choice (latchkey-small, latchkey-medium, latchkey-large, or latchkey-xlarge) in your workflow YAML file. No other changes are needed. Your workflows, actions, and steps continue to work exactly as before, but jobs execute on Latchkey's faster, dedicated infrastructure.
Can I migrate many repositories at once?
Yes. The Migrate Runners tool on the Runners page opens one ready-to-review pull request per repository, for up to 20 repositories at a time. Only runs-on lines are changed; every other line in each file is left byte-identical, and Windows and macOS jobs are left untouched. Nothing changes until your team merges.
What operating systems do Latchkey Runners support?
Latchkey Runners run Ubuntu 24.04 on x86_64. Windows, macOS, arm64, and GPU runners are not currently offered, and the migration tooling deliberately leaves those jobs running where they are today.
Are Latchkey Runners ephemeral? Is my code safe?
Yes. Every job runs on a fresh, ephemeral runner instance that is destroyed after the job completes. No data, artifacts, or state persists between jobs. This provides strong isolation between workflow runs and eliminates the risk of cross-job contamination or credential leakage that can occur with persistent self-hosted runners.
Are there limits on how long or how many jobs I can run?
Each runner executes exactly one job and is destroyed afterward. Jobs can run for up to 4 hours, and organizations can run up to 20 concurrent jobs by default. If your team needs more concurrency, reach out through support.
How much do Latchkey Runners cost?
Runner minutes are billed by size: latchkey-small (2 vCPU / 8 GB) is $0.0025 per minute, latchkey-medium (4 vCPU / 16 GB) is $0.005, latchkey-large (8 vCPU / 32 GB) is $0.01, and latchkey-xlarge (16 vCPU / 64 GB) is $0.02. Custom runners bill at the xlarge rate. That is up to 69% cheaper per minute than GitHub-hosted runners. Every plan includes free runner minutes each month (2,000 on Developer, 4,000 on Launch, 6,000 on Scale), and usage beyond your included minutes is billed at the per-minute rate.
Does Latchkey include caching?
Yes. Latchkey ships two built-in caching actions: latchkey-dev/cache-action@v1 for dependency caches and latchkey-dev/docker-cache-action@v1 for Docker layers. Both work with zero configuration on Latchkey runners, since storage and credentials are pre-provisioned, and each save or restore moves in a single streaming request with storage in the same region as your runner.
How do Latchkey Runners integrate with analytics and optimization?
Latchkey Runners feed performance and cost data directly into the Latchkey dashboard. You get real-time visibility into runner startup latency, queue times, job durations, and per-minute costs. Latchkey's AI optimization engine analyzes runner usage patterns alongside your workflow data to surface recommendations like right-sizing runner resources or improving caching, giving you a unified view of your entire CI/CD pipeline.
AI & Insights
What are AI optimization insights?
Latchkey's AI analyzes your GitHub Actions workflows and surfaces specific recommendations, like adding dependency caching, right-sizing runners, or pinning actions, each with a confidence score and estimated savings in dollars per month and time per run. You review every proposed change as a YAML diff, accept or skip each one, and accepted changes ship as a single pull request Latchkey opens for you.
Can my coding agent read CI failures from Latchkey?
Yes. Latchkey ships an MCP server that hands your coding agent the full context of a failure: the root cause, the exact failing file, and the complete logs. Generate a read-only API key (lk_live_) under Settings > API Keys, add the server to Claude Code, Cursor, or any MCP-capable agent, and it can pull failure bundles directly. Keys are read-only, so an agent can read failure context but never change anything in your repository or account.
Does Latchkey ever change my code without review?
No. Every repository change Latchkey makes, whether an optimization insight, a heal fix, or a runner migration, arrives as a pull request you review and merge. Nothing lands in your repository without your approval.
Billing & Plans
What plans does Latchkey offer?
Four plans: Developer at $5/month (1 repository, 2,000 free runner minutes, 1 seat), Launch at $19/month (up to 10 repositories, 4,000 free minutes, 1 seat included and extra seats at $5/month), Scale at $49/month (up to 40 repositories, 6,000 free minutes, 5 seats included), and Enterprise with custom pricing. Every plan starts with a 30-day free trial.
Do I need a credit card to start the free trial?
Not on Developer or Launch: pick a plan and get 30 days free with full feature access, no card required. Each workspace gets one trial.
What exactly counts as a "monitored repository"?
A monitored repository is any GitHub repository that you explicitly select in the Latchkey onboarding or dashboard to analyze. We do not charge for dormant, archived, or unselected repositories in your GitHub account. You have full control to toggle monitoring on or off for specific repos to stay within your plan's limit.
Do you charge for the number of workflow executions?
No. Analytics and monitoring are unlimited within your plan's repository limit; whether you run 10 builds a day or 10,000, monitoring costs the same. Runner minutes are the only metered usage: every plan includes free minutes each month, and usage beyond them bills at the runner's per-minute rate.
Do I need to pay for each developer on my team (per-seat pricing)?
Each plan includes seats: Developer is single-seat with no team members, Launch includes 1 seat, and Scale includes 5. On Launch and Scale you can add seats for $5/month each, so your whole engineering team can access the dashboard and insights.
What happens if I exceed my plan's repository limit?
If you need to monitor more repositories than your current tier allows, you will need to upgrade to a higher tier to include those additional repositories in your dashboard. You can upgrade your plan at any time directly from the billing menu of the dashboard as well as add new repositories to monitor.
What happens if I run out of free runner minutes?
Free minutes reset at the start of every monthly billing period. Once they are used, additional runner minutes are metered at the per-minute rate of the runner size you use. If you are on a card-less trial, new runner jobs are blocked until you add a payment method.
What happens when the 30-day free trial ends?
If you have a payment method on file, your subscription converts automatically to the plan you picked, with billing handled securely through Stripe. If you started without a card, Latchkey prompts you to subscribe: pick any plan from the dashboard and continue where you left off. Your data is retained either way.
What happens to my data if I disable a repository or cancel?
Disabling a repository archives its data rather than deleting it. Canceling your subscription retains your data, so you can pick up where you left off if you come back, and you can request full data deletion at any time.
Technical & Security
Does Latchkey support GitHub personal accounts?
No. Latchkey works with GitHub organization accounts only. Installing the GitHub App requires a GitHub organization that owns the repositories you want to monitor; installations on personal accounts are automatically rejected and removed.
Does Latchkey store my source code?
No. The Latchkey GitHub App reads workflow runs, job results, and your workflow YAML files. It never reads your source code, secrets, or environment values, and the only writes it can ever make to a repository are pull requests that you review and merge.
How do I install Latchkey? Do I need to edit my YAML files?
For analytics and optimization, our onboarding takes less than 5 minutes. Install the Latchkey GitHub App, select repositories to monitor, and you're done. No YAML edits required. If you also want to use Latchkey Runners, the only change is updating runs-on to a Latchkey runner label (e.g., latchkey-medium) in your workflow files. Analytics is fully agentless, and runners require just that one-line change.
Do you support private repositories and GitHub Enterprise?
Yes, Latchkey works with both public and private repositories on GitHub.com. However, on-premise GitHub Enterprise Server instances are not currently supported.
Can I use the dashboard on mobile?
The Latchkey dashboard is desktop-only for now. Slack and browser push notifications keep you informed away from your desk, but the dashboard itself is built for desktop browsers.
Do you support GitLab, Azure DevOps, or Bitbucket?
Currently, Latchkey is highly optimized for GitHub Actions. We are laser-focused on providing the deepest possible insights for the GitHub ecosystem first. Support for other CI/CD providers is on our roadmap.