Requirements: macOS (Apple Silicon or Intel) with Git installed
Quick Install (Homebrew)
1
Install Schaltwerk
2
Launch the app
Manual Installation
Prefer manual installation? Download the latest release and install manually.1
Download the application
Go to the Releases page and download
Schaltwerk-<version>-macos-universal.app.tar.gz2
Extract and install
3
Launch from Applications
Open Finder, navigate to Applications, and double-click Schaltwerk
First Launch Setup
Since Schaltwerk is distributed without an Apple Developer certificate, macOS Gatekeeper will block the initial run.
1
Attempt first launch
Try launching Schaltwerk from your terminal or by double-clicking the app. You’ll see a security warning.
2
Open System Settings
Navigate to System Settings → Privacy & Security
3
Approve the application
- Scroll down to find: “Schaltwerk was blocked from use because it is not from an identified developer”
- Click Open Anyway beside the warning
- Enter your password if prompted
4
Confirm launch
Launch Schaltwerk again and click Open when the confirmation dialog appears
After approving once, Schaltwerk will launch normally on future runs.
Next step: Your First Session to create and run an agent
Automatic Updates
Schaltwerk checks for updates on startup and applies them automatically by default. You can:- Toggle automatic installs in Settings → Version
- Trigger a manual check at any time with the “Check for updates” button
/Applications or reinstall from the latest tarball. A toast notification appears once an update has been installed—restart Schaltwerk to launch the new build.
Where Schaltwerk Stores Data
App Settings
App Settings
Location:
~/Library/Application Support/schaltwerk/settings.jsonStores agent binaries, CLI args, and personal defaultsProject State
Project State
Location:
~/Library/Application Support/schaltwerk/<project-name>/database.dbStores sessions, specs, and project-level environment variablesGit Worktrees
Git Worktrees
Location:
<repo>/.schaltwerk/worktrees/<session-name>/Created for each running session and removed when you cancelLogs
Logs
Location: Retention: Adjust retention window (default 72 hours):
~/Library/Application Support/schaltwerk/logs/Development builds: Keep 3 days of logs (cleaned on startup)Production builds: File logging disabled by default. Enable with:Development Setup (Optional)
If you plan to build or extend Schaltwerk from source:bun run test (or npm run test) to run the full validation suite (TypeScript linting, cargo clippy, cargo test, and a release build check).
Troubleshooting
Schaltwerk is damaged and can't be opened
Schaltwerk is damaged and can't be opened
Remove the quarantine attribute:
The application Schaltwerk can't be opened
The application Schaltwerk can't be opened
Re-sign the application:
App doesn't appear in Applications after Homebrew install
App doesn't appear in Applications after Homebrew install
Check if it was installed to the Homebrew prefix:
Terminal permissions issues
Terminal permissions issues
- Go to System Settings → Privacy & Security → Developer Tools
- Add Terminal.app or your preferred terminal
- Restart Schaltwerk
Port 8547 already in use
Port 8547 already in use
Schaltwerk runs an API server on port 8547. Find and kill the conflicting process:
Uninstallation
- Homebrew
- Manual
Security Considerations
Schaltwerk is distributed without an Apple Developer certificate to keep it free and open. The ad-hoc signing provides basic code integrity verification and protection against tampering.
What Permissions Does Schaltwerk Need?
- File System Access: To read and write session files
- Process Spawning: To create terminal sessions (PTY)
- Network Access: Local API server on port 8547
- No Special Entitlements: No camera, microphone, or contacts access
Is It Safe?
All code is open source and auditable
No external network connections (only localhost)
No telemetry or data collection
Built and signed via GitHub Actions for transparency

