Skip to content

fix(setup): detect OrbStack vs Docker Desktop before relaunching the daemon - #6250

Open
BohdanVilischuk wants to merge 2 commits into
simstudioai:stagingfrom
BohdanVilischuk:fix/orbstack-docker-launch
Open

fix(setup): detect OrbStack vs Docker Desktop before relaunching the daemon#6250
BohdanVilischuk wants to merge 2 commits into
simstudioai:stagingfrom
BohdanVilischuk:fix/orbstack-docker-launch

Conversation

@BohdanVilischuk

@BohdanVilischuk BohdanVilischuk commented Aug 4, 2026

Copy link
Copy Markdown

Summary

The setup wizard (bun run setup) only knew how to relaunch Docker
Desktop when Docker wasn't running. If you use OrbStack instead, it
tried to open an app that isn't installed, waited 90 seconds, then
failed with a confusing error about Docker Desktop's license screen —
even though Docker itself works fine through OrbStack.

Why this matters

OrbStack is a common, lighter-weight alternative to Docker Desktop on
macOS (this repo's own setup script even suggests installing it).
Anyone using it currently hits a dead end in the setup wizard instead
of a working local environment.

What changed

The wizard now checks which Docker app is actually installed —
OrbStack or Docker Desktop — and launches and refers to the right one.
OrbStack users get a working "start Docker for me" prompt instead of
an error pointing them at an app they don't have.

Fixes #(issue)

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation
  • Other: ___________

Testing

How has this been tested? What should reviewers focus on?

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

Screenshots/Videos

…daemon

ensureDocker() always ran `open -a Docker` to relaunch a stopped daemon on
macOS, which silently no-ops for OrbStack users (no Docker.app bundle
exists), leading to a misleading "GUI license acceptance" timeout error.
Now it checks the docker CLI's active context first (accurate regardless
of install location) and falls back to checking for OrbStack.app, so the
wizard launches and messages the app that's actually installed.
@vercel

vercel Bot commented Aug 4, 2026

Copy link
Copy Markdown

@BohdanVilischuk is attempting to deploy a commit to the Sim Team on Vercel.

A member of the Team first needs to authorize it.

@cursor

cursor Bot commented Aug 4, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Changes only affect the local setup wizard’s macOS Docker relaunch path; no runtime or production behavior.

Overview
On macOS, when the Docker daemon is down but the CLI is installed, the setup wizard no longer always assumes Docker Desktop. It picks OrbStack or Docker via docker context show (with a fallback to which .app exists), then uses that app name in the confirm prompt, open -a, spinner text, and timeout errors—including OrbStack-specific first-run guidance instead of Docker Desktop’s license message.

Reviewed by Cursor Bugbot for commit bf93e19. Bugbot is set up for automated code reviews on this repo. Configure here.

@greptile-apps

greptile-apps Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR updates the macOS setup wizard to detect and launch OrbStack or Docker Desktop and tailor its prompts and timeout guidance accordingly.

  • Adds active-context and application-bundle detection.
  • Uses the selected provider throughout launch prompts, spinner text, and first-run errors.
  • The fallback can incorrectly prefer OrbStack over an active Docker Desktop context when both applications are installed.

Confidence Score: 4/5

The provider-selection fallback should be corrected before merging because installations containing both apps can launch OrbStack while the Docker CLI continues waiting for Docker Desktop.

The new filesystem fallback treats OrbStack's mere installation as authoritative after receiving any non-OrbStack active context, causing the wizard to launch and diagnose the wrong daemon provider.

Files Needing Attention: scripts/setup/docker.ts

Important Files Changed

Filename Overview
scripts/setup/docker.ts Adds provider-aware macOS daemon startup, but the app-bundle fallback overrides non-OrbStack active contexts and can launch the wrong provider.

Reviews (1): Last reviewed commit: "fix(setup): detect OrbStack vs Docker De..." | Re-trigger Greptile

Comment thread scripts/setup/docker.ts Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 99bae52. Configure here.

Comment thread scripts/setup/docker.ts
…er Desktop context

macDockerApp() fell through to the OrbStack.app existence check whenever
docker context show returned anything other than "orbstack" — including a
known, explicit context like "desktop-linux". With both apps installed but
Docker Desktop active and stopped, this launched OrbStack while daemonUp()
kept polling Docker Desktop's socket, timing out with OrbStack-flavored
guidance for a Docker Desktop problem.

The path fallback now only runs when the context command gives no answer
at all (null); any resolved context is trusted outright.

Flagged identically by Greptile and Cursor Bugbot on PR simstudioai#6250.
@waleedlatif1

Copy link
Copy Markdown
Collaborator

Thanks @BohdanVilischuk — good catch, and you're right that our own setup script recommends OrbStack and then breaks for anyone who takes the recommendation.

I've carried your commits over to #6253 with authorship preserved, plus a follow-up: detection only fell back to the app bundle when docker context show failed outright, so an OrbStack-only Mac sitting on the default context (OrbStack symlinks /var/run/docker.sock, and anyone who ran docker context use default lands there too) still resolved to Docker Desktop — the same 90s hang this fixes. Also made DOCKER_HOST take precedence, since it overrides the active context.

Closing this in favor of #6253. Credit is yours.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants