I've been using essentially this process (with Claude Code) for about six months. There are a couple of places where I've opened xcode; mostly to update the simulators for new betas of xcode 27, and once to add a target for Apple Watch (and I think something for HealthKit).
Interestingly, since about Opus 4.6, Claude has been able to reason its way into this process on its own. It was clunky until 4.7, and in 4.8 it's managed to find its way around every reason I had to open xcode myself.
Tiberium•Jul 13, 2026
It's kind of funny to be reading this:
> I had Claude Code create mine: I told Claude, more or less: I want to archive, Developer ID-sign, notarize, staple, and install this app to /Applications without ever opening Xcode. Write me a script that does the whole chain and fails loudly if any step breaks.
Even though the text we're reading is Claude talking to us as well :)
Also it was weird to see the mention of "ask your LLM" at almost every stage in the blog post:
> point Claude Code or your LLM coding tool of choice to this blog post, and let it figure it out
> When in doubt, ask your LLM of choice about them and have it help you get set up. It’s the one that’s going to be using Xcode for you anyway.
> The whole point of using the LLM in the first place is to avoid doing things manually that you don’t want to do.
> Again, if in doubt, ask Claude Code or your LLM of choice to create this for you.
> Again, this is why you talk to your LLM, tell it what you want, and have it help build your workflow.
ryandrake•Jul 13, 2026
Claude telling us to point Claude to a web site written by Claude so that we can use Claude to create a build environment...
ericol•Jul 13, 2026
yo dawg
natpalmer1776•Jul 13, 2026
I heard you liked Claude, so I put extra Claude in your Claude so you can do more Claude.
lossyalgo•Jul 13, 2026
I suppose it's easier to turn everyone into unwitting tokenmaxxers than it is to raise prices again.
theParadox42•Jul 13, 2026
… that Claude can use, because Claude can’t use the XCode gui very efficiently.
carimura•Jul 13, 2026
"Claude was the only LLM to survive the LLM Wars."
quasarj•Jul 13, 2026
The mistakes in the text made me doubt it was AI, but who knows, maybe it's doing that on purpose now
sgt•Jul 13, 2026
Although this has been well known for years and documented.
dylan604•Jul 13, 2026
Yeah, but not only was this "on a computer" but "with an AI" so it's not the same at all. /s
LatencyKills•Jul 13, 2026
I spent seven years as a dev on the Xcode team and this is pretty much my exact workflow these days.
mrbombastic•Jul 13, 2026
This is cool but also makes me worried about the tendency with llms for all of us to make bespoke solutions rather than building a better community tool or extending an existing tool to solve the problem. fastlane exists to solve exactly this problem in the mobile space.
ryandrake•Jul 13, 2026
Also, shell scripts as part of a build are usually a little worrying. I'd at least want the build steps to be all integrated into my Makefile or CMakeLists.txt
vl•Jul 13, 2026
Bespoke solutions are better in many cases. They do exact things required for the project without taking extra dependency. Reducing dependencies is beneficial, because dependencies require management. So with llms economy of taking dependency shifted.
The llm is the better community tool. The important change is that you don't have to settle with someone developing a monolithic tool that happens to do what you need it to do. That was the way things used to need to be done because of the cost.
recsv-heredoc•Jul 13, 2026
Having to have Xcode installed is more than half the problem. It makes Visual Studio look lightweight.
ryandrake•Jul 13, 2026
Xcode does have (or had, haven't checked for a while) a lightweight "command line tools only" installer. Unfortunately, that installer omits a lot of the actual useful command line tools, like the notary and stapler tools. I also recall that the command line tool only installer leaves out things like the metal compiler, too. Not sure what the point of it is.
dylan604•Jul 13, 2026
> Not sure what the point of it is.
My only familiarity with it is because it's needed by brew. I honestly never looked into exactly what is in the package, but I assumed things like what is installed with -devel packages of yum/apt-get/dnf/etc. Lots of repos have common list of things to install like gcc/make/etc. Again, just guessing, but it's one of the first things I've always run on a new Mac to get it usable for CLI usage.
saagarjha•Jul 13, 2026
It lets you build basic UNIX-like tools.
gumby•Jul 13, 2026
It’s mostly all the emulators and platform APIs.
I’m not defending Xcode (I hate it), just clarifying.
CharlesW•Jul 13, 2026
If it's okay to mention my own complementary open source project, Axiom¹ does a good job of helping coding harnesses know how to do this effectively for Apple OS development.
In addition to a deep roster of skills and agencts, Axiom includes several for-LLM tools². xclog, xcprof, xcsym, and xcui are designed to be used by LLMs, and expose capabilities in a token-efficient way. These tools are equally helpful for non-Axiom skills/agents.
Silly question, but do you reckon it'll function decently in a Kotlin multiplatform codebase? There's swift native code, but I'm not sure how it would perform with some logic being shared.
smashah•Jul 13, 2026
Use axiom all the time thanks for your work. The next frontier in iOS app tooling is self-hostable Linux based build server. Thoughts?
schainks•Jul 13, 2026
I just set up my pipeline to do this exact thing for both the Apple and Android ecosystems, dispatching loads to my mac studio or Linux box accordingly. I moved the runners off GitHub because uptime for GitHub actions has been trash lately, and the Apple Silicon runners are pricey.
Claude was great at figuring out what was broken when and either fixing it, or clicking as far as it could until it needed me.
You could say I'm mostly just IRL hands for the AI now.
hyperhello•Jul 13, 2026
Being outside of the approved development loop has rough edges. How do you keep the app from putting up that permission to access documents folder all the time while you rebuild it?
saagarjha•Jul 13, 2026
They're a paid developer, so they are probably signing the app with a stable identity that avoids this.
rvz•Jul 13, 2026
By using "Claude Code"*
* and giving Anthropic all your secrets, env vars, certificates and your source code to them.
You can even run simulators in it if you choose the Tart backend.
thoughtl3ss•Jul 13, 2026
And how is your vibe coded sandbox better than 1000 other sandboxes?
simonw•Jul 13, 2026
What bad things to you anticipate Anthropic doing with your secrets, env vars, and certificates?
Danox•Jul 13, 2026
What could go wrong? Might Apple change something across five ecosystems and leave you in the lurch, and now you have to go through all the slop to try to fix it?
datadrivenangel•Jul 13, 2026
I've used opencode on a plane with local models to make small updates to local MacOS apps. It's not fast or amazing, but it does work well enough to do trivial changes.
But also yes this is a real concern.
stephenhuey•Jul 13, 2026
Thought this was going to be about the new Ruby Native!
“From bundle install to your phone in minutes. To the App Store and Google Play without a line of native code.“
zuzululu•Jul 13, 2026
holy hell $299/app is wild
incanus77•Jul 13, 2026
One time?! That's amazing.
stephenhuey•Jul 13, 2026
Per year, but still amazing. I'd like to think of myself who knows what he is doing, but I just launched a Rails-based platform for a client on web, iOS and Android, and had to spend an annoying amount of time in Google Play and App Store Connect. $299 would be a tiny fraction of the billable hours I'd have to spend messing around in there, and that's not counting mobile app dev time at all, so I'm on the lookout for a good candidate project to try Ruby Native on!
chrisweekly•Jul 13, 2026
per app per year
saagarjha•Jul 13, 2026
Making your app buildable from the CLI is not something I do personally to use on my Mac but it is very useful when you're automating your CI. If you have GitHub Actions set up to build your app, so can Claude, assuming you have the right signing setup on your machine.
pupppet•Jul 13, 2026
Doesn't that mean you need to distribute the app (TestFlight) before you can preview your app? How do you test locally without the simulators?
simonw•Jul 13, 2026
For a macOS app you don't need a simulator. For an iPhone app I've seen Claude Code launch the simulator without me needing to open Xcode.
nwienert•Jul 13, 2026
I built an iOS simulator simulator, though only for RN. Runs in browser but covers 100% of the API of RN, iOS UI, and the top 1k native libraries basically now. Been an ongoing agentic experiment of mine that's about ready to release.
Kind of fun, you can develop iOS and Android both without a build step and without a Mac even.
turtlebits•Jul 13, 2026
Testing != Distribution. You can run directly on a connected iOS device, without setting up anything related to the app store.
overgard•Jul 13, 2026
Oh god, the app store does not need more slop. If you can't be bothered to open XCode (which I agree is a dumpster fire, but), you shouldn't be bothered to submit an app that a person has to review and another person has to filter out of their search results.
pclowes•Jul 13, 2026
Counterpoint: XCode is such slop that an app made by a developer with the taste to avoid it has a higher probability of being less "sloppy" than average.
exographicskip•Jul 13, 2026
Skimmed the article. Pretty close to my workflow using fastlane with tauri.
Useful sanity check!
kxxx•Jul 13, 2026
I've been building and testing my iOS app just for fun via Linux only.
You do not need to upload to TestFlight or the App Store; you can just install the app locally to your iPhone via usb -- even from Linux!
When in doubt, just ask your coding agent of choice to help you create and upload a Hello World iOS app. It's really easy.
sdicker•Jul 13, 2026
I’ve been doing the same except that my linux installation is via WSL on Windows. I’ve been using sideloadly to move my IPA over to my phone. Works great.
GaryBluto•Jul 13, 2026
Does the iPhone need to remain tethered if it is transferred via USB?
drakythe•Jul 13, 2026
Dev apps need to be re-loaded every week (or two?) last time I did sideloading. The idea behind a dev app, in Apple's mind, is that it is for limited testing, so they have an expiration when not signed/installed through the App store.
hyzyla•Jul 13, 2026
Check also Sweetpad CLI. It’s basically wrapper around xcodebuild, but humans and agents. It’s my next project after Sweetpad VSCode extension for developing iOS/Swift applications in VSCode. Cli is still in beta, but I see on my own project that it’s already quite pleasant to use
I do something similar in GitHub actions. Every new app is setup in a few minutes to star getting rejected by iOS and Android.
josefrichter•Jul 13, 2026
Wait, I am not aware that I've done ANY of those setup steps, yet I'm building iOS and macOS apps without XCode. Both Claude and Codex handle it just fine and didn't ask me for any setup steps.
datadrivenangel•Jul 13, 2026
I've built a few small MacOS dock widgets now by just telling Claude/OpenCode to build them. Works well enough if you're very explicit.
The most useful one is a little weather sparkline to show local temperature forecasts. Useful every day.
mulmboy•Jul 13, 2026
I went to build an open source app from GitHub and was pretty surprised that it requires Xcode and that Xcode can't really be installed without an apple id. I do not want to make one and I certainly will not sign my computer into one.
I did end up somehow installing Xcode via some shady download and was on my way. But the whole ordeal left a very sour taste.
sneak•Jul 13, 2026
Though the primary way of installing Xcode is via MAS (requiring Apple ID login), Xcode can be downloaded from the Apple Developer website without an ADP membership, though you do have to log in to the website with an Apple ID. You don’t have to log into the Mac with an Apple ID though, you can then install and use it on a Mac without an Apple ID (though you will need one inside Xcode to sign apps to get them to run on an iOS device).
swiftcoder•Jul 13, 2026
Running a Mac without an Apple ID feels like an exercise in masochism. I wasn’t aware one could even still it through first run without
xyzzy_plugh•Jul 13, 2026
Why do you need one?
everfrustrated•Jul 13, 2026
Heck you can't even compile against many of the Mac APIs without a cert unlocked by a paid developer account.
murlax•Jul 13, 2026
Tangentially, I despise Xcode and love the Expo ecosystem and all the lovely tooling that they have built. It is React Native but Expo honestly makes it so trivial to build stuff from the CLI without ever needing to open that abomination of an app. And with AI, I have built a lot of side project apps onto my iPhone, like a homelab app for monitoring my cameras with push notifications whenever someone is at the door, starting my irrigation and a whole lot more. Plus Tailscale of course. Kind of a crazy world that we live in now.
sefrost•Jul 13, 2026
Yes, I remember React Native being quite painful before Expo!
Upgrading from one version to the next especially so.
Expo seems to shield you from a lot of issues, without really taking any power away from you either.
sneak•Jul 13, 2026
You still have to open Xcode (to get the certs), and you still have to accept the Xcode EULA. Title is quite misleading if not outright false.
coverband•Jul 13, 2026
Regardless of the vibe coding aspect, there's good information here for anyone new to the mac/ios build/distribution workflows.
onesandofgrain•Jul 13, 2026
Don't make apps for iOS. The apple ecosystem is horrendous
mvkel•Jul 13, 2026
In my experience, the better long-term choice if you're going to vibe code an app is to use Expo.
Its basis is React, so the code output quality is much higher than Swift because there is much more React code in LLM training data.
Everything is in the command line, and debugging is a breeze because it's a web view. But once it's compiled to native iOS, it feels like any other native app.
Expo + Fastlane = fully automated iOS submission and deployment. I issue one command and see a new version in the App Store.
hetspookjee•Jul 13, 2026
Some parts when creating a new app cannot be automated right? Eg registering the app itself for example.
fragmede•Jul 13, 2026
You can have your AI agent use computer-use to click around on in a browser open on developer.apple.com if that's counts as automated to you.
pzo•Jul 13, 2026
You can as well make it simpler and use those skills:
both callstack and swmansion are mostly react native shops but those should work even in native ios/android as well
isodev•Jul 13, 2026
In addition to the challenged Xcode, just using Swift seems to require a lot more tokens for both coding and dealing with build/platform quirks. Probably not super significant on indie scale but for anything more robust, it builds up quickly.
React Native and Flutter seem to be much more predictable for the bots (and more fun for humans, since they have actual hot reload).
theraven•Jul 13, 2026
Interesting this is coming across as novel. This is how CI build machines for Apple’s platforms have been setup in perpetuity.
dools•Jul 13, 2026
Shout out to fastlane! I would have loved to have found it sooner in my app shipping journey.
ChrisMarshallNY•Jul 13, 2026
Technically, you are using Xcode.
Xcode is a [buggy as hell] GUI wrapper for a lot of system-level UNIX utilities and apps [which are generally, not so buggy].
Using CLI to release apps is a pretty old practice; at least as long as I've been doing it (I released my first Xcode app in 2012).
quasarj•Jul 13, 2026
That's good to hear. I never even tried to make anything for macOS because I opened Xcode and.. well, you know.
codazoda•Jul 13, 2026
One down-side to this is that it does require you to run the agent on your Mac instead of in a Sandbox. I do this too and there are lots of problems I can't solve in a sandbox. I know a lot of you are throwing your hands up at the years of security practices we're throwing out the window when we do that.
The fact that xAI uploaded someone's home directory, including their SSH keys, is giving me serious pause at my choices here.
Generally, I don't worry about my machine being "blown up". I don't have a TON of unreproducible stuff on my machine. Everything is backed up, committed to git, and the like. I can restore most of it in a couple hours.
That said, I really, really don't want my .SSH directory sent to an AI agent and it's silly to prompt your way around that. You need to block it at the system level. I'm considering a separate user and then 700 permissions on my home directory.
I feel like we're back to 1990's security here. The double-edged sword is that it's helping us get things done at a pace like never before.
I'm not throwing shade here, I'm among the guilty.
pianopatrick•Jul 13, 2026
You could move your SSH keys onto a password encrypted usb drive that you physically remove from the computer.
wrxd•Jul 13, 2026
An alternative is to use ssh keys stored in the Secure Enclave with tools like https://secretive.dev/
fragmede•Jul 13, 2026
On a Mac. Just get a Mac mini. It doesn't have to be a crazy big beefy one, and if you're selling apps, it's a justifiable business expense.
gwking•Jul 13, 2026
I've been working on a wrapper harness that runs claude as a separate user named `agent`. I tried this about a year ago and couldn't get it to work because of OAuth and the keychain, but took another pass recently and claude had enough self-knowledge about recent changes to say we could do it with CLAUDE_CODE_OAUTH_TOKEN. It has required building a some tooling around permissions setup with ACLs but it works on macOS today.
In terms of risk, I see it as halfway between stock claude with the sandbox and full-blown container or machine isolation.
I was recently thinking that as Claude's own sandbox gets better I'm doubting the ROI on my belt-and-suspenders project, but your comment reminds me why I'm doing it.
It is not currently published open source but I'm happy to talk about it with strangers.
colechristensen•Jul 13, 2026
Your sandbox can be a separate Mac user account.
You can also use native Mac VMs.
Many people have created Mac VM projects to do exactly this, I was working on one but was stalled too often because before I started using claude I bought a new laptop with what I KNEW was enough disk space.
The 100 GB or so I need to comfortably do the VM stuff just isn't available on my mac.
grahar64•Jul 13, 2026
I thought this would be a flutter post. Love flutter, ... , well I like flutter compared to Kotlin and Swift
awaseem•Jul 13, 2026
I’ve done this forever on Foqos. Have a makefile, never even open Xcode and the instructions are in the agents md
tomaskafka•Jul 13, 2026
I find it hard to believe xcodegen is in a state where it would reliably generate xcodeproj for all edge states (widgets, watchos app, notification extensions …) - it certainly wasn’t when I last tried it for Weathergraph few years ago.
That said, it might be well enough for simpler apps.
35 Comments
Interestingly, since about Opus 4.6, Claude has been able to reason its way into this process on its own. It was clunky until 4.7, and in 4.8 it's managed to find its way around every reason I had to open xcode myself.
> I had Claude Code create mine: I told Claude, more or less: I want to archive, Developer ID-sign, notarize, staple, and install this app to /Applications without ever opening Xcode. Write me a script that does the whole chain and fails loudly if any step breaks.
Even though the text we're reading is Claude talking to us as well :)
Also it was weird to see the mention of "ask your LLM" at almost every stage in the blog post:
> point Claude Code or your LLM coding tool of choice to this blog post, and let it figure it out
> When in doubt, ask your LLM of choice about them and have it help you get set up. It’s the one that’s going to be using Xcode for you anyway.
> The whole point of using the LLM in the first place is to avoid doing things manually that you don’t want to do.
> Again, if in doubt, ask Claude Code or your LLM of choice to create this for you.
> Again, this is why you talk to your LLM, tell it what you want, and have it help build your workflow.
My only familiarity with it is because it's needed by brew. I honestly never looked into exactly what is in the package, but I assumed things like what is installed with -devel packages of yum/apt-get/dnf/etc. Lots of repos have common list of things to install like gcc/make/etc. Again, just guessing, but it's one of the first things I've always run on a new Mac to get it usable for CLI usage.
I’m not defending Xcode (I hate it), just clarifying.
In addition to a deep roster of skills and agencts, Axiom includes several for-LLM tools². xclog, xcprof, xcsym, and xcui are designed to be used by LLMs, and expose capabilities in a token-efficient way. These tools are equally helpful for non-Axiom skills/agents.
¹ Axiom: https://charleswiltgen.github.io/Axiom/ ² Axiom CLI tools: https://charleswiltgen.github.io/Axiom/tools/
Claude was great at figuring out what was broken when and either fixing it, or clicking as far as it could until it needed me.
You could say I'm mostly just IRL hands for the AI now.
* and giving Anthropic all your secrets, env vars, certificates and your source code to them.
You can even run simulators in it if you choose the Tart backend.
But also yes this is a real concern.
https://rubynative.com
“From bundle install to your phone in minutes. To the App Store and Google Play without a line of native code.“
Kind of fun, you can develop iOS and Android both without a build step and without a Mac even.
Useful sanity check!
Surprisingly, it's very easy. This works like a charm: https://github.com/xtool-org/xtool
You do not need to upload to TestFlight or the App Store; you can just install the app locally to your iPhone via usb -- even from Linux!
When in doubt, just ask your coding agent of choice to help you create and upload a Hello World iOS app. It's really easy.
1. https://sweetpad.hyzyla.dev/
2. https://github.com/sweetpad-dev/sweetpad
The most useful one is a little weather sparkline to show local temperature forecasts. Useful every day.
I did end up somehow installing Xcode via some shady download and was on my way. But the whole ordeal left a very sour taste.
Upgrading from one version to the next especially so.
Expo seems to shield you from a lot of issues, without really taking any power away from you either.
Its basis is React, so the code output quality is much higher than Swift because there is much more React code in LLM training data.
Everything is in the command line, and debugging is a breeze because it's a web view. But once it's compiled to native iOS, it feels like any other native app.
Expo + Fastlane = fully automated iOS submission and deployment. I issue one command and see a new version in the App Store.
https://github.com/software-mansion/argent
or
https://github.com/callstack/agent-device
both callstack and swmansion are mostly react native shops but those should work even in native ios/android as well
React Native and Flutter seem to be much more predictable for the bots (and more fun for humans, since they have actual hot reload).
Xcode is a [buggy as hell] GUI wrapper for a lot of system-level UNIX utilities and apps [which are generally, not so buggy].
Using CLI to release apps is a pretty old practice; at least as long as I've been doing it (I released my first Xcode app in 2012).
The fact that xAI uploaded someone's home directory, including their SSH keys, is giving me serious pause at my choices here.
Generally, I don't worry about my machine being "blown up". I don't have a TON of unreproducible stuff on my machine. Everything is backed up, committed to git, and the like. I can restore most of it in a couple hours.
That said, I really, really don't want my .SSH directory sent to an AI agent and it's silly to prompt your way around that. You need to block it at the system level. I'm considering a separate user and then 700 permissions on my home directory.
I feel like we're back to 1990's security here. The double-edged sword is that it's helping us get things done at a pace like never before.
I'm not throwing shade here, I'm among the guilty.
In terms of risk, I see it as halfway between stock claude with the sandbox and full-blown container or machine isolation.
I was recently thinking that as Claude's own sandbox gets better I'm doubting the ROI on my belt-and-suspenders project, but your comment reminds me why I'm doing it.
It is not currently published open source but I'm happy to talk about it with strangers.
You can also use native Mac VMs.
Many people have created Mac VM projects to do exactly this, I was working on one but was stalled too often because before I started using claude I bought a new laptop with what I KNEW was enough disk space.
The 100 GB or so I need to comfortably do the VM stuff just isn't available on my mac.
That said, it might be well enough for simpler apps.