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-05-23Intermediate

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-code129swift2storekit2indie-dev14ios14

Premium Article

In early May 2026 I started a sweep across the four iOS wallpaper apps I run on the side. The trigger was a more concrete signal that StoreKit 1 will be deprecated, plus a need to align AdMob mediation settings across three of the titles. I only have one Mac mini M5 at hand, so opening four Xcode windows and doing it by muscle memory would have buried me. These are the notes from handing most of the work to Claude Code instead.

I am Masaki Hirokawa, an artist and indie developer running a portfolio of wallpaper apps since 2014. The four main titles (Beautiful Wallpapers, Dolice Wallpapers, Ukiyo-e Wallpapers, Illustration Wallpapers) have shipped over 50 million downloads in total. This was the first time in a while I needed to touch all four at once, and a number of judgment calls only surfaced because of the parallel work.

Deciding what NOT to touch before writing a single line

The first half-day went into deciding what not to touch. The more I bundled into the release, the more a single rejection could freeze every title at once. So I drew the line like this:

  • Change everywhere: the StoreKit 2 migration itself, the AdMob SDK version, the ATT prompt copy, and the privacy manifest.
  • Vary by title: pricing tiers, new IAP slots, UI tweaks.
  • Leave alone this round: the api.dolice.asia backend response schema, image storage redirects, and the in-app review prompt.

Writing this boundary into the CLAUDE.md that Claude Code reads first kept its suggestions from sprawling. On day one, Sonnet 4.6 (called from Claude Code) tried to propose UI refactors a few times; after I added the "no UI changes" line to CLAUDE.md, the suggestions converged on architecture-level work.

Laying out four repos on a single Mac mini

Memory pressure was the real bottleneck. I ended up running four Claude Code sessions in parallel from the terminal while keeping only a single live Xcode instance.

# Four parallel Claude Code sessions via ghostty + tmux
tmux new-session -d -s bw 'cd ~/repos/beautiful_wallpapers && claude'
tmux new-session -d -s dw 'cd ~/repos/dolice_wallpapers && claude'
tmux new-session -d -s uk 'cd ~/repos/ukiyo-e && claude'
tmux new-session -d -s il 'cd ~/repos/illustration_wallpapers && claude'
 
# Only one Xcode at a time; let Claude Code drive Swift Build CLI elsewhere
tmux attach -t bw

Memory settled at 18-22 GB of 28 GB, and the swap spikes I used to see with two Xcode windows (over 8 GB of swap) disappeared. Each Claude Code session ate around 600-900 MB, so four of them stayed well under 4 GB combined.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
Memory and workflow numbers from running four iOS apps in parallel on one Mac mini M5
Five branch points where indie developers commonly stumble during the StoreKit 2 migration
Pitfalls when handing the AdMob + StoreKit entitlement decision over to Claude Code
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
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 →

Related Articles

Claude Code2026-06-03
Triaging iOS Test Failures Fast: Parsing .xcresult with Claude Code
Xcode 16 deprecated xcresulttool's legacy JSON, changing how you pull test failures out of a .xcresult bundle. Here's how to shape the new test-results format with jq and hand it to Claude Code to pinpoint the cause and a fix, drawn from running six apps in parallel.
Claude Code2026-06-02
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 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.
📚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 →