Guide
Using an AI coding agent with Xcode
Apple shipped agentic coding in February 2026, and most of what was written about this before then is now wrong. Here is what the current release actually does, what is still only in beta, and the three things no version of Xcode is going to do for you.
The short version
If you are an experienced iOS developer working in an app that already exists, and you are staying on Apple platforms, Xcode alone is probably enough. That was not true a year ago. It is true now, and we would rather say so than sell you something you do not need.
Xcode 26.3 added native agentic coding in February. The current release, 26.6, lets an agent explore your project, change build settings, capture SwiftUI Previews, and iterate through builds and fixes on its own. Apple also ships an official bridge so a terminal agent like Claude Code can reach the same tools.
What is worth knowing is which capabilities have actually shipped and which are still in the Xcode 27 beta, because the gap between the two is where most confusion lives — and it is wider than the headlines suggest.
What shipped, and when
Apple announced agentic coding with Xcode 26.3, released to developers on 3 February 2026:
"Xcode 26.3 introduces support for agentic coding, a new way in Xcode for developers to build apps using coding agents such as Anthropic's Claude Agent and OpenAI's Codex. With agentic coding, Xcode can work with greater autonomy toward a developer's goals — from breaking down tasks to making decisions based on the project architecture and using built-in tools."
The distinction Apple draws is worth holding onto. Xcode 26, from September 2025, had a chat assistant. You asked it things, it answered. Anthropic described that integration as "limited to helping with individual, turn-by-turn requests". Xcode 26.3 is a different thing: the agent takes a goal and works.
The current stable release is Xcode 26.6, from 25 June 2026. Xcode 27 is in beta — beta 6 landed on 24 August — and it is not shipping. Xcode 27 requires macOS Tahoe 26.4 or later and is Apple silicon only.
What the agent can do in the shipping release
Apple's own description of the capability set in 26.x:
"Agents can search documentation, explore file structures, update project settings, and verify their work visually by capturing Xcode Previews and iterating through builds and fixes."
And from the developer documentation:
"If you use an agent, Xcode may iterate on a response, build your app to verify the code, and fix build warnings and errors automatically."
That last part is the one that matters most day to day. The single hardest thing about pointing a terminal agent at an iOS project has always been that it writes plausible Swift, cannot compile it, and hands you something that does not build. An agent inside Xcode compiles its own work and fixes what breaks.
Localization is a documented specialty rather than a side effect: agents can add languages, update string catalogs, translate strings, and add language-specific plural variants.
Which models you can use. In the shipping release, Xcode's Intelligence settings offer Claude and ChatGPT directly. Beyond those two, Apple documents adding any provider that supports the Agent Client Protocol, or any that exposes a Chat Completions API with /v1/models and /v1/chat/completions endpoints.
What is in the 27 beta and not in your Xcode yet
This is the part most articles get wrong, so here it is precisely. Every capability in this section is an Xcode 27 beta release-note item. If you are on 26.6, you do not have any of it.
Simulator control. From the Xcode 27 release notes: "Agents can now boot simulators, install and launch apps, synthesize touch events, and capture screenshots to verify UI behavior." In shipping Xcode the agent captures Previews. It does not drive a running app.
Debugger and build-setting access over MCP. The 27 notes describe new tools letting agents manipulate the run state, read the debugger console, switch schemes and run destinations, and inspect and modify build settings, compiler flags, entitlements and Info.plist keys.
Gemini and Google Antigravity appear in the coding assistant — in the betas only. Anyone telling you Gemini works natively in Xcode today is describing software that has not shipped.
Watch and TV verification. Beta 5 added agents rotating and pressing the Digital Crown; beta 6 added tvOS navigation with the Siri Remote.
Plan artifacts. "Plans appear as editable Markdown artifacts next to the conversation." You review and approve before the agent proceeds.
A filesystem security layer that monitors and controls file access by agents and the processes they spawn.
It is a substantial release. It is also a beta, and Apple's own known-issues list is candid about it — the plan-mode confirmation bar can trigger a second agent turn on top of an in-flight one and leave the conversation inconsistent.
Connecting a terminal agent: Apple’s bridge
If you would rather stay in the terminal, Apple ships an official bridge that gives an outside agent access to Xcode's tools.
For Claude Code:
claude mcp add --transport stdio xcode -- xcrun mcpbridgeFor Codex:
codex mcp add xcode -- xcrun mcpbridgeTwo prerequisites Apple states explicitly. In Xcode's settings, under Model Context Protocol, turn on "Allow external agents to use Xcode tools." And: "Before prompting an external agent (outside of Xcode), be sure to open your project in Xcode." The bridge attaches to an open workspace — no window, no tools.
Xcode 27 beta adds a second, different mechanism that does not need an open workspace, enabled with sudo xcrun mcp-server enable. Different command, different model, still a preview. Apple notes some aspects "may not work in all configurations". Do not mix the two up when following a tutorial.
The Claude Code simulator pane, and its Xcode 27 problem
Claude Code Desktop on macOS has an iOS Simulator pane in public beta. It is genuinely useful and it has three documented limits worth knowing before you rely on it.
It does not work with Xcode 27. Anthropic's docs are unambiguous: "The pane doesn't yet work with Xcode 27, which replaces the Simulator app with Device Hub." If xcode-select points at Xcode 27, attaching a device fails or the pane reports no simulators despite devices existing. The documented workaround is installing Xcode 26.x alongside and pointing at it:
sudo xcode-select -s /Applications/Xcode-26.4.appSimulated devices only. "Claude drives simulated devices only and can't control a physical iPhone or iPad."
Local sessions only. In cloud and SSH sessions Claude runs on a machine that cannot reach the simulators on your Mac.
There is also a privacy note Anthropic makes directly, and it is a fair one: screenshots of the device are sent to Anthropic under your normal retention settings, so do not sign into real accounts on a device Claude is driving.
On entitlement: Claude Code "works with any paid Claude subscription (Pro, Max, Team, or Enterprise) or a Claude Console account, and no API key is required."
What none of this solves
Apple has closed most of the gap that existed a year ago. Three things are left, and they are not the kind of thing a future Xcode release fixes, because they are not Xcode's job.
Deciding what the project should be. An agent in an empty folder does not choose an architecture, define what the app is deliberately not doing yet, or decide where the module boundaries go. It starts writing screens. Those first-hour decisions are the ones that are expensive to unmake in month three, and no amount of agent autonomy makes them for you.
Holding an architecture across a context reset. This is the failure everyone who has built something substantial with an agent recognises. The structure lives in the conversation; you clear context, or switch models when you hit a limit, or come back after three weeks, and it is gone. The next feature gets built against a shape the agent has reconstructed from the code it can currently see, and the drift compounds.
Android. Xcode does not build Android apps and no version of it will. If your app needs both platforms you are running a second, unrelated workflow in a second IDE and reconciling behaviour between them by hand.
Where Modaal fits
Modaal is not an alternative to any of the above. It runs on the same agents — Claude Agent, Codex CLI, Cursor, Gemini CLI, GitHub Copilot CLI, OpenCode, OpenHands, Mistral Vibe and others — authenticated with the subscription you already pay for, with no per-token charge on top. Every new project also starts on a built-in free preview agent, so you can try it without connecting anything.
What it adds is the three things above.
It creates the project rather than improving one. With Plan on, the first prompt turns your description into a PRD and scaffolds the project against a chosen template before the agent writes a feature.
The structure lives on disk. Modaal's documentation puts it plainly: it "keeps the module structure on disk so it survives context clears and agent switches." There is no export step — it is a standard Xcode project on your own disk from the first build.
The simulator connection is not waiting on Xcode 27. Modaal gives the agent "a live connection to the iOS simulator — screenshots, console logs, UI hierarchy, and the ability to tap, scroll, and switch tabs." That is roughly the capability Apple is shipping in the 27 beta, available now on 26.x.
And Android. Duet shares the application logic across iOS and Android and keeps each interface native, with parity enforced by fixtures replayed on both platforms.
Modaal needs a Mac, Xcode 26 or newer, and around 50 GB of disk. If you are Apple-only, working in an existing app, and Xcode's agent is doing what you need — keep your money.
Frequently asked questions
Xcode 26.3 or later. It was released to developers on 3 February 2026. The current stable release is 26.6, from 25 June 2026. Xcode 27 is still in beta as of late August 2026 and requires macOS Tahoe 26.4 or later on Apple silicon.
Not in the shipping release. Xcode 26.x agents capture SwiftUI Previews and iterate through builds and fixes. Booting simulators, launching apps, synthesizing touch events and capturing screenshots are Xcode 27 beta features. A lot of coverage conflates the two.
In the shipping release, Claude and ChatGPT are available directly in Intelligence settings, and Apple documents adding any provider that supports the Agent Client Protocol or exposes a Chat Completions API. Gemini and Google Antigravity appear in the Xcode 27 betas only.
Turn on "Allow external agents to use Xcode tools" under Model Context Protocol in Xcode settings, then run: claude mcp add --transport stdio xcode -- xcrun mcpbridge. Your project must be open in Xcode before you prompt the agent — the bridge attaches to an open workspace.
Most likely because xcode-select points at Xcode 27. Anthropic documents that the pane does not yet work with Xcode 27, which replaces the Simulator app with Device Hub. Install Xcode 26.x alongside and point at it with: sudo xcode-select -s /Applications/Xcode-26.4.app
If you are an experienced iOS developer working in an existing Apple-only app, quite possibly not. What Xcode does not do is decide what a new project should be, keep an architecture on disk so it survives a context clear or an agent switch, or build anything for Android. If none of those three matter to you, Xcode and your agent are enough.
No. Xcode is macOS-only, and everything on this page runs through it. Modaal is the same — it drives Xcode locally, so it needs a Mac, Xcode 26 or newer, and roughly 50 GB of free disk space.
Related
- Swift vs React Native in 2026: What ChangedThe real question is not which framework is better — it is what your app needs to do and who is building it. An honest guide, current to August 2026.
- Build Android Apps With Claude CodeClaude Code reaches Android Studio through a JetBrains plugin with a far smaller tool surface than its Xcode integration. What that means in practice.
- Kotlin App Builders in 2026, ComparedGoogle generates native Kotlin and Compose from a prompt, free. What its own docs say it cannot do, and when sharing logic with iOS changes it.
Start building for free
Build for as long as you want on the Free plan. Only upgrade when you're ready to launch.