Create an Account
This guide walks you through creating a RunnerHub account and verifying your email address.
Step 1: Go to the Sign Up Page
Section titled “Step 1: Go to the Sign Up Page”- Navigate to runnerhub.net in your web browser
- Click the Sign Up button or link
- You'll see the registration page
Step 2: Enter Your Email
Section titled “Step 2: Enter Your Email”On the registration page:
- Enter your email address
- Click Continue with email
- A 6-digit one-time password (OTP) will be sent to your email within seconds
Check your inbox (and spam folder just in case) for the email containing your OTP.
Step 3: Verify Your OTP
Section titled “Step 3: Verify Your OTP”- Copy the 6-digit code from your email
- On the verification page, enter the code digit-by-digit
- You can also paste the entire code at once
- Click Verify code
Step 4: Sign Up with OAuth (Optional)
Section titled “Step 4: Sign Up with OAuth (Optional)”Alternatively, you can skip email verification and sign up directly using your GitHub, GitLab, or Bitbucket account:
- On the sign-up page, click Continue with GitHub, Continue with GitLab, or Continue with Bitbucket
- Authorize RunnerHub to access your account (read-only access to repositories)
- You'll be logged in and taken to dashboard onboarding
Troubleshooting: "Invalid or expired state. Please try again."
Section titled “Troubleshooting: "Invalid or expired state. Please try again."”If an OAuth sign-in fails with a 400 and this message, the usual cause is two sign-in attempts running at once in the same browser.
Each time you start an OAuth flow, RunnerHub issues a single-use, browser-bound runnerhub_oauth_state cookie. Starting a second attempt overwrites that cookie, so whichever tab you complete second succeeds and the other one fails. Opening the provider button twice, double-clicking it, or leaving an old sign-in tab open all produce this.
Fix: close the extra tabs and start a single sign-in flow again. This is expected behaviour, not a bug — the cookie is what prevents an attacker from feeding you their login link and landing you inside their account.
The same message also appears if you take longer than 5 minutes between clicking the provider button and finishing authorization, since the state expires. Just start again.
Step 5: Set Your Password
Section titled “Step 5: Set Your Password”If you used email + OTP:
- After verification, you'll be prompted to set a password
- Choose a strong password (we recommend 12+ characters)
- Click Create account
- You're now signed up and logged in!
What's Next?
Section titled “What's Next?”Once your account is created:
- Create a workspace — Your top-level container for apps, team members, and signing credentials (guide →)
- Add your first app — An app is where your pipeline configuration lives (guide →)
- Connect a repository — Link your GitHub, GitLab, or Bitbucket repo (guide →)
- Write your first pipeline — Create
.runnerhub/runnerhub.ymland push to trigger a build (guide →)