CLAUDE LABJP
FORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as OctoberFORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as October
Articles/Claude Code
Claude Code/2026-06-02Intermediate

Two Weeks of Splitting iOS Work Between Claude on Xcode and Claude Code

I ran Claude on Xcode, which lives in the Xcode sidebar, alongside Claude Code in the terminal across two weeks of real wallpaper-app work. Here is how I ended up dividing the tasks, and the simple rule I use to decide which one to open.

claude-on-xcode2claude-code129ios14indie-dev14workflow37

"Why do you run two of them if it's the same Claude?" I get asked this more and more. Claude on Xcode lives in the Xcode sidebar; Claude Code runs in the terminal. Both talk to the same model, yet on my desk their roles are clearly split. Over the past two weeks I deliberately kept notes on which one keeps my hands moving in which situation, working on my wallpaper and calm-themed apps. Here is what that division actually felt like.

A day of indie development is built far more from quiet maintenance than from flashy new features: SDK updates, clearing build warnings, replying to App Store reviews, fanning the same fix out across several apps. Each of these is small, so opening the wrong tool means the day dissolves into setup before you ever reach the real task. That is exactly why the few seconds of judgment before I open anything turned out to be worth writing down.

Same model, different field of view

The first thing that clicked was that the difference is not intelligence but the size of the context window each one sees.

Claude on Xcode sees the inside of the project you currently have open: the build settings, project.pbxproj, the selected source, even the line number of a build error. Claude Code, by contrast, traverses the whole repository as files, runs git, executes tests, and applies changes across many files at once.

Claude on Xcode … sees "inside" one Xcode project / continuous with GUI work
Claude Code     … sees the whole repo and the shell / great at sweeping changes

Once I stopped choosing by "which is smarter" and started choosing by "which field of view do I need right now," almost all of my hesitation went away.

Two weeks of real examples

Mornings spent fighting build errors: Claude on Xcode

The morning after a Firebase update in Beautiful HD Wallpapers, a red error sat in the Crashlytics Run Script phase. In moments like this, the strength of Claude on Xcode is that I can ask with the offending line already selected.

Look at this Run Script phase that's failing, and check whether
the environment variables needed for the dSYM upload are present.
If anything's missing, just propose the fix first.

Because the IDE hands over the actual error (which script, which line), I barely have to describe the situation myself. For work that assumes fixing things in the GUI, the Claude that lives inside Xcode simply feels faster.

Afternoons applying one fix to six apps: Claude Code

The reverse case was unifying my ATT (App Tracking Transparency) wording across six apps at once. That was Claude Code's home turf.

Check NSUserTrackingUsageDescription in each repo's Info.plist,
build a diff that replaces any outdated wording with the new
unified text, and show me only the files you changed.

Apply the same fix across files, confirm with git diff, and if it looks right, go straight through to a commit. Work that does not fit inside a single Xcode project is overwhelmingly better suited to Claude Code, which surveys the whole tree from the terminal.

The hard middle cases: dividing work that either tool could do

The genuinely tricky tasks are the ones both tools can handle. A one-line bug fix, for instance, can be done by selecting the line in Xcode or by having Claude Code produce a diff. The rule I use here is: is the cause of the bug inside the code, or inside the project configuration?

If the cause is logic (a missed branch, an Optional handled wrong), I want to survey the surrounding files and tests, so I reach for Claude Code. If the cause sits in build settings, Signing, or dependency resolution — places continuous with Xcode's GUI — I reach for Claude on Xcode, where I can see the settings panel and the error at the same time. Even for the same "fix one line," what changes which tool I open is the address of the cause.

Another middle case is decoding an unfamiliar crash stack. The trace itself is text, so I can paste it into either one, but I let Claude Code take the first read. Asking it to hunt for the same symbols across the whole repository makes the "is this frame my code or a library's?" split far faster. Only once I have a hypothesis, and the fix is narrowed to a specific screen, do I move over to Xcode.

Where I hit a wall

Honestly, the first few days had failures too. While Claude Code was rewriting a file, I also let Claude on Xcode touch the same file on the Xcode side. The editor still held the old contents, saved over the change, and quietly wiped out a diff I had just made.

The rule I took from this is simple: never let both sides touch one file at the same moment. While Claude Code owns a sweeping change, I close that file in Xcode and only bring Xcode back to the front once the work is done. Obvious, perhaps, but once two AIs sit on the desk, the traffic control between them becomes a new job for the human.

To turn that traffic control into a system, I now split the work by time of day: mornings are Xcode-led, single-app work; afternoons are Claude Code-led, cross-app rollouts. Dividing into modes by time slot almost entirely ended the accidents where both sides edit the same file. Deciding the human's mode switch before the tool switch is what actually fixed it.

What I took away: the choice is "what will I do next"

After two weeks, the real gain was not deciding which tool is better. It was forming the habit of choosing backward from my own next move.

If my next action is GUI work in Xcode (switching schemes, building, checking the simulator), I reach for Claude on Xcode. If my next action is git, tests, or crossing several repositories, I reach for Claude Code. Anchoring the decision on "where the work continues" removes the hesitation.

If the rule for picking up a tool is "match it to what you're working on," then AI tools are no different. Just as you swap blades between rough shaping and fine finishing, you swap the width of the field of view to match the thing in front of your hands. While I was still ranking them by raw intelligence the hesitation lingered; once the habit of reasoning backward from the task set in, the choice settled itself in the few seconds before I opened anything.

What I am working on next

Next I want to set up a flow that reconciles the test results Claude Code runs with the work log from Claude on Xcode. Right now the two records live in separate places, so cross-checking them during a pre-release review takes a little effort. If I can make that continuous, the indie-dev day should get one notch quieter.

If you are also moving back and forth between two tools on the same problem, I hope this gives you some footing for the decision. Thank you for reading.

Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

Claude Code2026-05-23
Notes from May 2026: Running a Parallel StoreKit 2 Migration Across Four iOS Wallpaper Apps with Claude Code
Operational notes from running a four-app iOS StoreKit 2 migration in parallel with Claude Code on a single Mac mini M5, captured during May 2026.
Claude Code2026-05-22
Six Weeks Running a Claude Code Hooks + SwiftLint Quality Gate on My Indie iOS Apps
A six-week field report on wiring SwiftLint into Claude Code's PostToolUse hook to keep my indie iOS codebases consistent. Motivation, implementation, three adjustments that mattered, and the rough edges I hit along the way.
Claude Code2026-06-18
Claude Code Adds /cd — Carrying Your Warm Cache Across Repositories
Claude Code's new /cd moves a running session to another working directory without rebuilding the prompt cache. Here are the design calls and pitfalls when you sweep across several repositories in one sitting.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →