Skip to main content

flowdeck apps

List apps that were launched by FlowDeck.
# List running apps
flowdeck apps

# Include stopped apps
flowdeck apps --all
flowdeck apps -a

# Clean up stale entries
flowdeck apps --prune

# JSON output
flowdeck apps --json

# Show usage examples
flowdeck apps --examples

Options

OptionShortDescription
--examplesShow usage examples
--json-jOutput as JSON
--all-aShow all apps including stopped ones
--pruneValidate and prune stale entries

JSON Output

{
  "apps": [
    {
      "id": "abc12345-1234-5678-9abc-def012345678",
      "shortId": "abc123",
      "bundleId": "com.example.MyApp",
      "status": "running",
      "targetType": "simulator",
      "targetName": "iPhone 16 Pro",
      "scheme": "MyApp",
      "pid": 54321,
      "launchedAt": "2025-01-15T10:30:00Z"
    }
  ],
  "staleRemoved": 0
}
App Status Values:
StatusDescription
runningApp is currently running
stoppedApp was stopped normally
crashedApp crashed
exitedApp exited
waitingForDebuggerApp waiting for debugger to attach
unknownStatus cannot be determined

flowdeck logs

Stream real-time logs from a running app. Alias: log
# Stream logs (use App ID from 'flowdeck apps')
flowdeck logs <app-id>

# Stream logs using short ID
flowdeck logs abc123

# Stream logs using bundle ID
flowdeck logs com.company.MyApp

# Stream logs in JSON format
flowdeck logs abc123 --json

# Show usage examples
flowdeck logs --examples

Arguments

ArgumentDescription
<identifier>App identifier (short ID, full ID, or bundle ID)

Options

OptionShortDescription
--examplesShow usage examples
--json-jOutput as JSON
Use flowdeck apps to get the app ID. You can use either the short ID (e.g., abc123) or the bundle ID.

Log Output Format

Logs are prefixed by their source:
[console]   Messages from print() statements
[category]  Messages from os_log() with category
[subsystem] Messages from Logger() with subsystem

JSON Output

{"type":"log","level":"info","category":"console","message":"Hello, World!","timestamp":"2025-01-15T10:30:00Z"}
{"type":"log","level":"debug","category":"MyCategory","message":"User logged in","timestamp":"2025-01-15T10:30:01Z"}

flowdeck stop

Stop a running app.
# Stop specific app
flowdeck stop <app-id>
flowdeck stop abc123

# Stop by bundle ID
flowdeck stop com.company.MyApp

# Stop all running apps
flowdeck stop --all
flowdeck stop -a

# Force kill unresponsive app
flowdeck stop abc123 --force
flowdeck stop abc123 -f

# Force kill all apps
flowdeck stop --all --force

# JSON output
flowdeck stop abc123 --json

# Show usage examples
flowdeck stop --examples

Arguments

ArgumentDescription
<identifier>App identifier (short ID, full ID, or bundle ID)

Options

OptionShortDescription
--examplesShow usage examples
--all-aStop all running apps
--force-fForce kill (SIGKILL instead of SIGTERM)
--json-jOutput as JSON

JSON Output

{
  "type": "result",
  "success": true,
  "operation": "stop",
  "appId": "abc123",
  "bundleId": "com.example.MyApp"
}

flowdeck context

Discover project structure including workspace, schemes, simulators, and build configurations. This is the first command to run in a new project. Alias: ctx
# Human-readable output
flowdeck context

# JSON output (recommended for AI agents)
flowdeck context --json

# Specific project directory
flowdeck context -p /path/to/project
flowdeck context --project /path/to/project

# Show usage examples
flowdeck context --examples

Options

OptionShortDescription
--examplesShow usage examples
--project <path>-pProject directory (defaults to current directory)
--json-jOutput as JSON

JSON Output

{
  "workspace": "MyApp.xcworkspace",
  "schemes": [
    {
      "name": "MyApp",
      "category": "iOS",
      "isShared": true,
      "productType": "application",
      "platform": "iOS"
    },
    {
      "name": "MyAppTests",
      "category": "Tests",
      "isShared": true
    }
  ],
  "buildConfigurations": ["Debug", "Release"],
  "simulators": [
    {
      "udid": "12345678-1234-1234-1234-123456789ABC",
      "name": "iPhone 16 Pro",
      "platform": "iOS",
      "osVersion": "18.0",
      "state": "Shutdown"
    }
  ]
}

Typical Workflow

# 1. Discover project info
flowdeck context --json

# 2. Build with discovered parameters
flowdeck build --workspace MyApp.xcworkspace --simulator "iPhone 16"

# 3. Run with discovered parameters
flowdeck run --workspace MyApp.xcworkspace --simulator "iPhone 16 Pro"
For listing schemes and build configurations, see the System Commands documentation for flowdeck project schemes and flowdeck project configs.The legacy scheme list, scheme info, and buildconfig commands are still available for backward compatibility but are hidden from the main help output.