anthropics / anthropics/claude-code

Claude Desktop local agent silently downloads an 8.5 GB iOS Simulator runtime and leaves system-wide devices and caches without storage confirmation

Offen
#88,234 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area:permissions area:tools bug has repro platform:macos
Vorherrschende Sprache
Python
Sterne
145k
Forks
23.1k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

### Description

A Claude Desktop local-agent session executed:

```bash
xcodebuild -downloadPlatform iOS
```

as a background task without asking for confirmation or disclosing the download size.

The command downloaded an approximately 8.5 GB iOS Simulator runtime. Registering that runtime caused CoreSimulator to create a full default device set and persistent runtime caches shared by every Claude Desktop session and other development tools on the Mac.

This is not ordinary temporary build output. The downloaded runtime, generated simulator devices, and dyld caches remain after the Claude session ends and after Claude Desktop is restarted.

### What happened

The session first encountered an Xcode SDK / simulator-runtime mismatch.

Claude then said it would check whether a matching runtime could be downloaded, but immediately started this command in the background:

```json
{
"command": "xcodebuild -downloadPlatform iOS 2>&1 | tail -30",
"description": "Attempt to download/update matching iOS simulator platform via xcodebuild",
"timeout": 300000,
"run_in_background": true
}
```

There was no intervening user confirmation.

When the task completed, Claude reported that the 8.5 GB download had succeeded.

CoreSimulator logs show that the new iOS 26.5 runtime was registered immediately afterward and 11 default simulator devices were created.

Before these Claude-driven simulator workflows, the machine had two simulator devices. It now has 15. One of the 11 newly generated iOS 26.5 devices was later deleted, leaving:

- 2 original devices
- 3 additional iOS 26.3 default devices recreated during another Claude build workflow
- 10 remaining iOS 26.5 default devices

### Persistent disk impact

Directly attributable to the Claude-triggered iOS 26.5 provisioning:

- Downloaded iOS 26.5 runtime MobileAsset: approximately 7.9 GB on disk
- iOS 26.5 CoreSimulator dyld cache: approximately 3.0 GB
- Default iOS 26.5 simulator device directories: approximately 200 MB in their initial/shutdown state
- 11 iOS 26.5 default devices were created; one was later deleted, leaving 10 from that runtime and 15 simulator devices total on the machine

The directly attributable persistent footprint is therefore approximately 11 GB, before later app installations or normal simulator use add further device data.

For clarity, an older 7.8 GB iOS 26.3 runtime asset and approximately 10 GB accumulated in the two pre-existing simulator devices are excluded from this figure because they predate this runtime-download incident. Three additional iOS 26.3 default device directories created during another Claude workflow account for only about 50 MB.

Deleting ordinary project build output does not reclaim the downloaded runtime or its dyld cache. The user has to discover and remove them through CoreSimulator/Xcode-specific tooling.

### Why this is a Claude product issue

`xcodebuild -downloadPlatform` is a material, machine-wide provisioning operation, not a normal project-local build command.

It can:

- download multiple gigabytes;
- consume metered network traffic;
- register a new system-wide simulator runtime;
- create a complete default simulator-device set;
- generate additional multi-gigabyte dyld caches;
- affect other Claude sessions because CoreSimulator state is machine-global;
- persist after the initiating session ends.

The local-agent permission flow did not distinguish this operation from an ordinary build command.

This was observed under `bypassPermissions`, but a multi-gigabyte system provisioning operation should still be surfaced before execution, or at minimum clearly announced with its estimated size and persistent effects.

### Expected behavior

Before running known provisioning commands such as:

```bash
xcodebuild -downloadPlatform
xcrun simctl runtime add
```

Claude Desktop should:

1. Display the estimated download and installed size.
2. Explain that the operation installs a system-wide runtime and creates simulator devices and caches.
3. Require explicit user confirmation before starting.
4. Avoid starting the download as an unattended background task.
5. Surface the installed runtime in a storage/cleanup view after the session.
6. Track which session initiated the provisioning operation.
7. Avoid force-restarting CoreSimulatorService as a build-retry strategy.

A normal project build may proceed autonomously, but installing an 8.5 GB platform runtime should be treated as a separate, material system change.

### Environment

- Claude Desktop 1.32885.1
- Embedded Claude Code 2.1.229
- macOS 27.0 beta (26A5416b)
- Xcode 26.6 (17F113)
- Existing runtime: iOS 26.3
- Runtime installed by the Claude session: iOS 26.5
- Permission mode: `bypassPermissions`

### Related but distinct

- #88217 — iOS Simulator panel routes actions to the wrong attached device and retains stale device state. That issue concerns device targeting and panel recovery; this report concerns unconfirmed multi-gigabyte system provisioning and persistent disk usage.
- #16824 — expensive background operation performed without confirmation.
- #84939 — automatic dependency installation with persistent disk impact.
- #81593 — uncleaned Claude-related disk consumption.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

The issue names no repository files or tests; start by tracing the local-agent permission flow around xcodebuild -downloadPlatform and xcrun simctl runtime add. Reproduce the provisioning path on macOS and compare it with the expected confirmation, size disclosure, background-task restriction, persistent-impact tracking, and cleanup visibility described in the report.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ios, macos
Bereich
desktop, devtools, mobile-dev
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.