Skip to main content
FlowDeck provides comprehensive simulator management. Alias: sim

flowdeck simulator list

List available simulators, grouped by device family and OS version.
# List all simulators
flowdeck simulator list

# Filter by platform
flowdeck simulator list --platform iOS

# Show only available simulators
flowdeck simulator list --available-only

# JSON output
flowdeck simulator list --json

Options

OptionShortDescription
--platform <name>-PFilter by platform (iOS, iPadOS, tvOS, watchOS, visionOS)
--available-only-AShow only available simulators
--json-jOutput as JSON

JSON Output

[
  {
    "udid": "12345678-1234-1234-1234-123456789ABC",
    "name": "iPhone 16 Pro",
    "platform": "iOS",
    "osVersion": "18.0",
    "state": "Shutdown",
    "isBooted": false,
    "isAvailable": true
  }
]

flowdeck simulator boot

Boot a simulator so it’s ready to run apps.
# Boot a simulator
flowdeck simulator boot <UDID>

# Boot with verbose output
flowdeck simulator boot <UDID> --verbose

# Boot with JSON output
flowdeck simulator boot <UDID> --json

Options

OptionShortDescription
--verbose-vShow command output
--json-jOutput as JSON

JSON Output

{
  "success": true,
  "message": "Simulator booted successfully",
  "udid": "12345678-1234-1234-1234-123456789ABC"
}

flowdeck simulator shutdown

Shutdown a running simulator.
# Shutdown a simulator
flowdeck simulator shutdown <UDID>

# Shutdown with verbose output
flowdeck simulator shutdown <UDID> --verbose

# Shutdown with JSON output
flowdeck simulator shutdown <UDID> --json

Options

OptionShortDescription
--verbose-vShow command output
--json-jOutput as JSON

flowdeck simulator open

Open the Simulator.app application.
flowdeck simulator open
flowdeck simulator open --json

Options

OptionShortDescription
--verbose-vShow command output
--json-jOutput as JSON

flowdeck simulator screenshot

Capture a screenshot from a booted simulator.
# Take screenshot (auto-named with timestamp)
flowdeck simulator screenshot <UDID>

# Save to specific path
flowdeck simulator screenshot <UDID> --output ~/Desktop/screenshot.png

Options

OptionShortDescription
--output <path>-oOutput path for screenshot (default: ./screenshot-<timestamp>.png)
--verbose-vShow command output

flowdeck simulator erase

Erase all content and settings from a simulator, resetting it to factory defaults.
# Erase a simulator
flowdeck simulator erase <UDID>

# Erase with JSON output
flowdeck simulator erase <UDID> --json

Options

OptionShortDescription
--verbose-vShow command output
--json-jOutput as JSON
This action is destructive and cannot be undone. The simulator must be shutdown before erasing.

When to Use

  • To test fresh app installation
  • To clear corrupted simulator state
  • Before running UI tests that need a clean slate

flowdeck simulator clear-cache

Clear simulator caches to free disk space and resolve caching issues.
flowdeck simulator clear-cache
flowdeck simulator clear-cache --verbose

Options

OptionShortDescription
--verbose-vShow command output

When to Use

  • When simulators are using too much disk space
  • When experiencing strange caching behavior
  • After updating Xcode

flowdeck simulator create

Create a new simulator with the specified device type and runtime.
# Create an iPhone 16 Pro simulator with iOS 18.1
flowdeck simulator create --name "My iPhone 16" \
    --device-type "iPhone 16 Pro" --runtime "iOS 18.1"

# Create with JSON output
flowdeck simulator create --name "Test Device" \
    --device-type "iPhone 15" --runtime "iOS 17.2" --json

Options

OptionShortDescription
--name <name>-nName for the new simulator (required)
--device-type <type>Device type, e.g., “iPhone 16 Pro” (required)
--runtime <runtime>Runtime, e.g., “iOS 18.1” (required)
--verbose-vShow command output
--json-jOutput as JSON
Use flowdeck simulator device-types and flowdeck simulator runtimes to find available options.

JSON Output

{
  "success": true,
  "udid": "12345678-1234-1234-1234-123456789ABC",
  "name": "My iPhone 16",
  "deviceType": "iPhone 16 Pro",
  "runtime": "iOS 18.1"
}

flowdeck simulator delete

Delete a simulator by UDID or name.
# Delete by UDID
flowdeck simulator delete <UDID>

# Delete by name (prompts if multiple matches)
flowdeck simulator delete "iPhone 15"

# Delete all unavailable simulators
flowdeck simulator delete placeholder --unavailable

Options

OptionShortDescription
--unavailableDelete all unavailable simulators (ignores identifier)
--verbose-vShow command output

flowdeck simulator prune

Delete unused simulators (those that have never been used) to free up disk space.
# Preview what would be deleted
flowdeck simulator prune --dry-run

# Delete unused simulators
flowdeck simulator prune

# Get JSON output for automation
flowdeck simulator prune --dry-run --json

Options

OptionShortDescription
--dry-runShow what would be deleted without deleting
--verbose-vShow verbose output
--json-jOutput as JSON

JSON Output

{
  "dryRun": true,
  "deleted": ["12345678-1234-1234-1234-123456789ABC"],
  "count": 1
}

flowdeck simulator runtimes

List available simulator runtimes installed on your system.
flowdeck simulator runtimes
flowdeck simulator runtimes --json

Options

OptionShortDescription
--json-jOutput as JSON

JSON Output

[
  {
    "name": "iOS 18.1",
    "identifier": "com.apple.CoreSimulator.SimRuntime.iOS-18-1",
    "version": "18.1",
    "isAvailable": true
  }
]

flowdeck simulator device-types

List available simulator device types for creating new simulators.
flowdeck simulator device-types
flowdeck simulator device-types --json

Options

OptionShortDescription
--json-jOutput as JSON

JSON Output

[
  {
    "name": "iPhone 16 Pro",
    "identifier": "com.apple.CoreSimulator.SimDeviceType.iPhone-16-Pro"
  }
]