概要
iOS Simulator ペインは、Apple の iOS Simulator 上で動くアプリを会話の隣に表示する。Claude がアプリをビルド・インストール・起動・確認すると自動で開き、デバイス画面をライブでストリームする。
macOS の Claude Code Desktop における public beta。 Pro / Max / Team / Enterprise プランで利用できるが、HIPAA 構成または Zero Data Retention (ZDR) を有効にした Enterprise 組織では利用できない。
このペインはシミュレータを直接操作するため computer use を必要とせず、画面を乗っ取ったり他のウィンドウを隠したりしない。 CLI からは computer use 経由でシミュレータへ届く(画面上のシミュレータをマウスと同じように操作する)。
仕様
要件
- Claude Desktop v1.24012.0 以降
- Mac(Apple の iOS Simulator は macOS でのみ動く)
- Xcode(iOS プラットフォーム導入済み)。バージョンは 26.x を使う。Xcode 27 は Simulator アプリを Device Hub に置き換えたため、ペインはまだ対応していない
- ローカルセッションでのみ利用できる。 cloud と SSH のセッションでは、Claude が動くマシンから Mac のシミュレータへ届かない
このページの「デバイス」は、Xcode の Window → Devices and Simulators で管理するシミュレートされた iPhone / iPad を指し、実機ではない。
実行
- コマンドも設定も要らない。 Claude がシミュレータでアプリを動かすとペインが開く
- 依頼はアプリの実行や検証として書く(例: 「アプリをビルドしてシミュレータで動かし、オンボーディングの流れを確認して」)
- 「新しい画面は正しく見える?」のように見た目に関する依頼では、作業の前にシミュレータを起動する
- ペインは実際にアプリが起動したデバイスを映す。特定のデバイスで試すなら依頼に名前を書く(「iPhone SE のシミュレータで動かして」)
- Claude が起動したデバイスは Apple の Simulator アプリにも現れる。既に自分で起動しているデバイスへインストールさせることもできる
- 自分で開くこともできる。セッションがシミュレータを持つか Swift ファイルを編集した後、Views メニューに iOS Simulator が出る。デバイスが出ていなければ Attach simulator、またはデバイスメニューから選ぶ(停止中のデバイスを選ぶと起動する)
自分で操作する
- 画面のクリックとドラッグでタップ・スワイプ
- ハードウェアボタンは Apple の Simulator アプリと同じショートカット(Cmd+Shift+H ホーム、Cmd+L ロック、Cmd+↑ / Cmd+↓ 音量)
- 回転ボタンまたは Cmd+→ で時計回りに 90 度回転
- デバイスメニューで表示するデバイスを切り替える(各シミュレータの OS バージョンと起動状態が並ぶ)
- Cmd+S でスクリーンショット、Cmd+R で画面録画。ファイルはデスクトップに保存される
- Detach simulator でデバイスを終了させずにストリーミングを止める
- デバイス名の下の行で映像を調整する(Frame rate、Resolution、Encoding(H.264 / JPEG)、FPS の表示)。これはペインの表示を変えるだけで、アプリの動作は変えない
自分と Claude は同じデバイスを操作する。 自分のタップは Claude が見るアプリの状態を変える。Claude が操作している間はペインに Claude is using this device バッジが出るので、消えるまでタップを控える。
セッションとデバイスの関係
- 各デバイスは起動したセッションに属し、並行セッション間で共有されない
- サイドバーでセッションを切り替えるとシミュレータの表示も切り替わり、戻ると続きから再開する
- 1 セッションあたり最大 4 ペイン(Claude が複数デバイスを扱う場合、それぞれ別のペインが開く)
- Claude Code Desktop が起動したシミュレータは、アプリの終了時・セッションのアーカイブ時・ペインからデタッチして 10 分後に停止される。自分で起動したデバイスは自動停止されない。即座に止めるならペインの停止ボタン
権限
- Claude がデバイスを操作する前に同意を求める。 同意はそのデバイスの操作とスクリーンショット取得を含み、セッションごとではなくデバイスごとに 1 回
- Claude が撮ったデバイスのスクリーンショットは Anthropic に送られ、通常の会話の保持設定に従う。Claude が使うデバイスで実アカウントにサインインしない
- 同意後のタップ・入力・アプリ起動・スクリーンショットは追加の確認なしに動く。シミュレートされたデバイスにしか触れないため、computer use が要求する macOS の Accessibility と Screen Recording の権限は不要
- 拒否してもデバイスは起動し、ペインは自分のタップ用に使える。後から Let Claude use it で許可できる
permission mode に従う 2 つのアクション:
- デバイス上で URL を開く(ディープリンクの検証、Safari でのページ読み込みなど)。URL はデバイス外へデータを運べるため
- アプリのビルド。
xcodebuildが Mac 上でプロジェクトのビルドスクリプトを走らせるため。実行中のビルドの確認は確認を求めない
無効化
- デスクトップアプリの設定から自分で切れる
- 組織による無効化は 2 通り
disableMobileSimulatorTools(managed setting): Claude のシミュレータツールを止める。ペインは自分のタップ用に残り、アプリ内から上書きできないrequireCoworkFullVmSandbox(ポリシーキー): Claude のツールを隔離された仮想マシンで動かすため、ペインとシミュレータツールを完全に無効化する
制約・注意点
- Claude が操作できるのはシミュレートされたデバイスのみで、実機の iPhone / iPad は操作できない。 実機で試すなら Xcode から自分で動かし、見えたものを説明するかスクリーンショットを添付する
- Xcode 27 では動かない。
xcode-selectが Xcode 27 を指していると、デバイスの接続に失敗するか「シミュレータが見つからない」と報告される。26.x を併せて入れ、sudo xcode-select -s /Applications/Xcode-26.4.appのようにパスで選ぶ(確認はxcode-select -p) - シミュレータが 1 つも無い場合は、Xcode の設定から iOS シミュレータのランタイムを入れるか
xcodebuild -downloadPlatform iOSを実行する - ペインが開かないときは、依頼を明示的にする(「iOS Simulator でアプリを動かしてサインアップの流れをタップして」)、Xcode とバージョン要件、組織のポリシー、アプリのバージョンを順に確認する
関連
facts/claude-code/desktop.mdfacts/claude-code/desktop-computer-use.mdfacts/claude-code/desktop-sessions.mdfacts/claude-code/desktop-enterprise.mdfacts/claude-code/permission-modes.md