flowdeck -i to get a persistent development environment with keyboard shortcuts, log streaming, and a status bar.
Launching Interactive Mode
Example Session

Status Bar
The bottom of the terminal displays a persistent status bar showing:- Project name and git branch
- Current scheme
- Target (simulator or device)
- Build configuration (Debug/Release)
- App status (Idle, Building, Running, Error)
Keyboard Shortcuts
Quick Actions
| Key | Action |
|---|---|
B | Build the project |
R | Build and Run in the selected simulator or device |
U | Run Tests menu |
K | Clean menu (see below) |
X | Stop running app |
L | Toggle log/test viewer (available when an app is running) |
Build Configuration
| Key | Action |
|---|---|
S | Select scheme |
T | Select target (simulator/device) |
C | Select configuration (Debug/Release) |
M | Switch to other workspaces in your folder or subfolders |
Project Commands
| Key | Action |
|---|---|
P | Project Commands menu (see below) |
Other
| Key | Action |
|---|---|
D | Devices, Simulators & Runtimes menu |
F | FlowDeck settings |
Navigation
| Key | Action |
|---|---|
H | Show help |
Q | Quit interactive mode |
Page Up | Scroll output up |
Page Down | Scroll output down |
↑ / ↓ | Command history |
Clean Menu
When you pressK, a Clean menu appears with the following options:
| Option | Action |
|---|---|
| Clean Project | Cleans the build artifacts for the current scheme |
| Clean Xcode Cache | Clears Xcode’s internal caches |
| Clean Derived Data | Removes the DerivedData folder |
Clean Derived Data removes all cached build products and may require a full rebuild of your project.
Project Commands Menu
When you pressP, the Project Commands menu appears with the following options:
| Option | Action |
|---|---|
| Swift Packages | Opens a submenu with package management options |
| Sync Provisioning Profiles | Syncs provisioning profiles via build with automatic signing |
| Export Project Config | Export current configuration to a file for use with CLI commands |
| Open in Xcode | Opens the current workspace in Xcode |
Swift Packages Submenu
| Option | Action |
|---|---|
| Resolve Packages | Resolves Swift Package dependencies |
| Update Packages | Updates packages to latest versions (clears cache and re-resolves) |
| Clear Package Cache | Removes the SourcePackages directory from DerivedData |
Devices Menu
When you pressD, the Devices, Simulators & Runtimes menu appears. This menu allows you to:
- View and manage connected physical devices
- View and manage iOS/tvOS/watchOS simulators
- Manage simulator runtimes
- Prune Unused Simulators (last 90d) - Remove simulators that haven’t been used in the last 90 days
The prune option shows a confirmation dialog before removing any simulators.
Features
Log Streaming
PressL to toggle real-time OSLog streaming from your running app. Logs appear in the main output area while the status bar remains fixed at the bottom.
Test Selection
When you pressU to run tests, you can choose:
- All Tests - Run the complete test suite for the selected Scheme
- Recent Tests - Re-run tests from your current session
- Specific Tests - Pick individual test classes or methods
Scheme & Target Selection
PressS or T to interactively select from available schemes, simulators, or connected devices. Your selection is saved for future sessions.
Target Options:
- My Mac - Build and run as a native macOS app
- My Mac Catalyst - Build and run iOS app on Mac via Catalyst (only appears if your scheme supports it)
- Physical Devices - Connected iPhones, iPads, etc.
- Simulators - iOS, iPadOS, tvOS, watchOS simulators
State Persistence
Interactive mode saves your configuration to your home holder to avoid having to configure the CLI every time.- Workspace path
- Selected scheme
- Selected simulator/device
- Build configuration
- Log streaming preference
- Recent tests
Saving Configuration to a file
You can store your current configuration by selecting Export Project Config from the Project Commands menu (pressP, then select Export Project Config). This allows you to use the configuration with CLI commands.
You can directly run commands with a pre-defined configuration by passing the --config option
Tips
Exiting
PressQ (when no command is running) to exit interactive mode. Your terminal will be restored to its normal state.
Getting Help
In Interactive Mode
PressH at any time to display the help screen with all available commands and shortcuts. You can also find quick access to online dodumentation
Command Line Help
Common Issues
Setup assistant keeps appearing
Setup assistant keeps appearing
The setup assistant runs when FlowDeck can’t find a valid workspace or scheme. Make sure your project has a
.xcworkspace or .xcodeproj file and run the setup again with S to select a scheme.Keyboard shortcuts not working
Keyboard shortcuts not working
Make sure the terminal window is focused and no command is currently running. Some shortcuts are disabled during builds or test runs.
Logs not appearing
Logs not appearing
Press
L to enable log streaming. Logs only appear when an app is running on a simulator. Physical device logs require Console.app.Build fails with signing errors
Build fails with signing errors
Run
flowdeck build outside interactive mode to see full error output, or check your Xcode signing settings.Documentation
- CLI Commands Reference - Full list of CLI commands
- Building - Build configuration options
- Testing - Test execution options
- FlowDeck for AI Agents - Why AI agents should use FlowDeck first
