Baguette — Control iOS Simulators headless with taps, swipes, and streaming, without opening Xcode.
Analyzed by Sai Pavan Gopularam · Dev Tools · Testing · View on GitHub
- Stars: 2269
- Forks: 127
- Commits last 30 days: 100
- Health: Active (100 commits this month)
- Language: Swift
- License: Apache-2.0
What It Is
Imagine having a remote control for your iPhone or iPad simulator, but instead of using your mouse, you're sending commands through a simple terminal. Baguette is a command-line tool and web UI that lets you fully control Apple's iOS Simulators without ever opening Xcode or the Simulator app itself. You can boot devices, tap, swipe, type, stream their screens, and even simulate location or camera input.
This matters because it unlocks true automation for iOS development and testing. Developers and QA teams can run thousands of tests across various device configurations much faster and more reliably. It solves the problem of needing manual interaction or complex, brittle automation setups that break with every Xcode update, especially after Apple changed how `idb` and `AXe` worked in iOS 26.
License Verdict
Apache-2.0 License — Build and Sell Freely — Commercial Use Approved • Patents Granted • No Copyleft
The Apache-2.0 license permits you to use, modify, and distribute this software for any purpose, including commercial applications, under its terms. You can also sublicense it. You must include the original copyright and license notice, and state any significant changes you make.
How to Use It
Baguette is installed via Homebrew and requires Xcode 26. Once installed, you can launch a web UI to manage simulators or use command-line tools for fine-grained control, including booting, tapping, and capturing screens.
Prerequisites:
- macOS 15+
- Xcode 26+
- Homebrew
- Apple Silicon
Estimated setup time: 10 minutes.
brew install baguette
baguette serve
open http://localhost:8421/farm
baguette list
baguette boot --udid <UDID>
What I'd Build With This
Automated UI Screenshot Service (micro-saas)
Build a simple web service where indie iOS developers can upload their `.ipa` files. Your service uses Baguette to automatically install the app on various simulator configurations (e.g., iPhone 15, iPad Pro) and capture high-quality screenshots for App Store listings or marketing materials. Users get a zip file of perfectly sized images without needing to manually run simulators.
Effort: 1 Week Build Time · Target: Indie iOS Developers, Small Agencies · Pricing: $19/month for 50 screenshots, $49/month for 200
Cloud iOS UI Regression Testing (saas)
Develop a SaaS platform that allows mobile development teams to define UI test flows (e.g., 'tap button X, type text Y, swipe Z'). Baguette powers a fleet of cloud-hosted iOS simulators to execute these flows automatically. The platform captures screenshots/videos at each step and compares them against baseline versions to detect UI regressions, providing detailed reports and integrations with CI/CD pipelines.
Effort: 3-6 Months Build Time · Target: Mobile Development Teams, QA Departments · Pricing: $299/month for 1000 test minutes, tiered pricing
Internal Mobile Device Farm (enterprise)
Offer a custom-built solution for large enterprises with significant internal mobile app development. This involves deploying Baguette on their on-premise infrastructure to create a secure, private farm of virtual iOS devices. The solution provides a centralized dashboard for developers and QA to access, control, and test their applications against various iOS versions and device models, ensuring compliance and security requirements are met.
Effort: 6+ Months Build Time · Target: Large Enterprises (Finance, Healthcare, Government) · Pricing: Custom enterprise contracts, starting at $50k/year
Sai Pavan Gopularam's Take
This is a goldmine for anyone in mobile QA or dev tools. Instead of wrestling with flaky UI automation or expensive cloud providers, you can build your own robust, headless iOS simulator farm. I'd target mobile dev shops struggling with UI regression testing and charge them $499/month for a managed service that runs their tests automatically.
Watch Out For
- macOS and Xcode Dependency: Baguette is deeply integrated with Apple's ecosystem, requiring macOS 15+ and Xcode 26+. This means you can't run your simulator farm on Linux servers or older macOS versions, limiting deployment flexibility.
- Specific iOS Version Support: The tool is specifically designed for iOS 26 and later, addressing changes in how Apple's private frameworks work. If you need to test older iOS versions, Baguette might not be the right fit or would require parallel tooling.
- Private Frameworks: Baguette links private SimulatorKit/CoreSimulator frameworks. While this offers powerful control, it also means future Xcode updates could potentially break compatibility, requiring updates to Baguette itself.
I break down trending repos like Baguette every week — join the newsletter.