Built with GLM 5.1/GLM 5.2 + OpenCode vibe coding
A macOS SwiftUI GUI application for Apple's container CLI. Manage Linux containers and container machines on Apple Silicon with a native, bilingual (English / Simplified Chinese) interface.
- Containers — List, create, run, start/stop/kill, delete, view stats and logs, exec into running containers
- Container Machines — List, create, boot, stop, delete, edit config (CPUs, memory, home-mount, virtualization, kernel), connect via terminal
- Images — List, pull, delete, tag, view details (digest, media type, annotations, other tags sharing same digest)
- Networks — List, create, delete, view details
- Volumes — List, create, delete, view details
- Builder — Start/stop/delete BuildKit builder, build images from Dockerfile with custom tag, context picker, no-cache option
- Registry — List logins, login (via Terminal for password input), logout
- System — Health info, disk usage, service start/stop, kernel info, system logs
- Configurable default terminal app (auto-scans Terminal, iTerm2, Warp, Ghostty, Kitty, Alacritty, WezTerm)
- Quick Connect — one-click terminal attach with saved default exec config
- Exec dialog — custom command, root/user toggle, working directory, environment variables
- Save / reset default exec config
- Hot-switchable language (English / Simplified Chinese / System) without restart
- Hot-switchable theme (Light / Dark / System) without restart
- NavigationSplitView with sidebar
- Non-intrusive toast notifications for operation results
- Loading states with timeout protection for all CLI operations
- macOS 26+ (takes advantage of new virtualization and networking features)
- Apple Silicon
containerCLI installed andcontainer system startrun at least once
swift buildswift run SwiftWhaleOr run the built binary directly:
.build/debug/SwiftWhale- SwiftUI + Swift 6 (strict concurrency)
- XPC — Direct XPC communication with
containerservices (com.apple.container.apiserver,com.apple.container.core.container-core-images,com.apple.container.core.machine-apiserver) - CLI fallback — Container/machine lifecycle operations (start, stop, delete, boot) use the
containerCLI viaProcessfor reliability, with timeout protection - SPM — Swift Package Manager, single executable target with bundled resources
This project is in early development. The GUI covers basic container management needs, but many features are still rough. If you encounter bugs, have feature requests, or suggestions, please open an issue. Thank you for using SwiftWhale!



