Onboarding gives a product its Operations Instance and connects it to Startup OS. There are two ways to do it, and both end the same way: Startup OS proposes, you merge, and then you start the first run.
Before you start
You need:
- Owner or admin rights on the GitHub organization that holds your product’s repositories. One product per organization is supported, and it can span several repositories.
- GitHub Actions enabled in that organization. Your organization pays for its Actions usage.
- Your own model credential. An Anthropic Console API key or a Claude subscription token, as described in Model credential. Your account pays for model use. Startup OS provides no shared model account.
- Access to the private beta.
Choose a path
| In the browser | With your coding agent | |
|---|---|---|
| Best for | Seeing each step as it happens | Handing the setup to an agent in your terminal |
Creates the operations repository |
Yes | Yes |
| Sets secrets, labels, and schedules | You add one secret, your model credential, yourself | Yes, with you typing every secret |
| You finish by | Starting the first run from the product page | Running the final command in your own terminal, then starting the first run |
In the browser
- Sign in. Open the dashboard, sign in with GitHub, and create a workspace.
- Connect your organization. Choose Install on a new one if the Startup OS GitHub App is not installed there yet, or Connect an existing organization if it is. Accept the app’s permissions.
- Choose your product. Open Products. Discovery runs as the page loads and writes nothing. Choose Start onboarding, then tick the repositories that belong to the product, confirm its name, and choose Yes, onboard these.
- Review and merge. Startup OS creates a private
operationsrepository, or reuses the one you have, and opens a configuration pull request in it. If the app only has access to selected repositories, addoperationsto its installation when prompted. The pull request proposes the whole Operations Instance: the manifestSTARTUP-OS.yaml, the loop’s workflows and configuration, and aPRODUCT.mdandCONTEXT.mddrafted from what Startup OS found. A document someone has already written is never proposed over. Read it, edit anything markedTODO(founder), and merge it yourself. - Add your model credential. Pick one of the two options in Model credential below and add it as a repository secret under your
operationsrepository’s Settings → Secrets and variables → Actions. It must be a repository secret: on GitHub’s Free plan an organization secret is accepted and listed but never reaches the workflows. Never paste it into the dashboard, an issue, or a support message. - Run the first assessment and plan. Return to the product page and resolve any prerequisite it lists. Then choose Run first assessment and plan. Reload the page to follow it. If the run fails, open its GitHub log, fix what it reports, and run it again.
- Read the results. When the run finishes, the product page links to your assessment and your proposed operating plan.
The first run prepares recommendations. It does not grant permission to act on them. For a shorter checklist of the same steps, see Set up your product.
With your coding agent
If you are signed in, Copy AI agent prompt appears at the top of every docs page and on your dashboard. Paste it into Claude Code, or any coding agent that can run commands on your machine. The agent:
- checks for Node 24 or later, git, and a signed-in GitHub CLI, and installs the Startup OS CLI from the archive you download from the dashboard
- runs
sos statusandsos onboard --check, which change nothing, and tells you what onboarding would do - reads your repository and drafts the facts about your business for you to correct, marking what it inferred
- hands you the
sos onboardcommand to run in your own terminal, because it asks questions and takes secrets on hidden input - checks the result, tells you how to repair anything that is not green, and sends you to the product page to run the first assessment and plan
The agent never asks you to paste a secret into the chat and never merges a pull request for you.
To run the CLI yourself instead, see The CLI.
Model credential
The loop needs one model credential, set as a secret on your operations repository. Startup OS never stores it: the dashboard only checks whether a secret with the right name exists.
| Credential | Secret name | Where to get it |
|---|---|---|
| Anthropic Console API key, pay-as-you-go | ANTHROPIC_API_KEY |
The Anthropic Console |
| Claude subscription | CLAUDE_CODE_OAUTH_TOKEN |
Run claude setup-token |
If you set both, the API key is used. Usage is billed to your own account.
Using a gateway. To route model calls through an Anthropic-compatible gateway, such as LiteLLM or OpenRouter, set the repository variable MODEL_BASE_URL to its URL. It must start with https://. Put the gateway’s own key in ANTHROPIC_API_KEY. The gateway has to accept the model names the loop’s steps use, or its calls will fail.
Checking the credential. Before the first run, the model-check.yml workflow makes one small model call and fails fast if the credential is rejected. Re-run it any time from your repository’s Actions tab, or with:
gh workflow run model-check.yml --repo <org>/operations
What happens next
A new product starts in Prepare: Startup OS drafts and opens pull requests, and nothing reaches anyone outside your team. On the default schedule its loop runs on Mondays and the weekly digest arrives on Tuesdays. See The operating loop for the whole week, and Permissions and operating modes before you open anything up.
Review your go-to-market direction
The first assessment can propose customer segments, acquisition motions and designed tests after inspecting your sources. Onboarding completion does not accept these proposals. Review the strategy and existing quarterly bet before adopting it, then register and approve any new test through the GTM workflow. A release upgrade preserves your existing strategy, permissions and schedules.