Tip: Examples usebuncommands. Replace them with the npm equivalents (npm run …,npm install, etc.) if needed.
Installation Issues
Schaltwerk won't open on first launch
Schaltwerk won't open on first launch
Symptom: macOS blocks the app with “can’t be opened because it is from an unidentified developer”Solution:
- Go to System Settings → Privacy & Security
- Scroll down to find: “Schaltwerk was blocked”
- Click Open Anyway
- Launch Schaltwerk again and click Open
App is damaged and can't be opened
App is damaged and can't be opened
Symptom: Error message about damaged applicationSolution:
Remove the quarantine attribute:Then try launching again.
Homebrew installation fails
Homebrew installation fails
Symptom:
brew install --cask 2mawi2/tap/schaltwerk failsSolution:- Update Homebrew:
- Try installation again:
- If still failing, manually add tap first:
Session Issues
Can't create new session
Can't create new session
Symptom: Error when trying to start a spec or create sessionPossible Causes & Solutions:1. Not in a Git repository:2. Working directory not clean:3. Worktree directory exists:4. Permission issues:
Session stuck in 'Creating' state
Session stuck in 'Creating' state
Symptom: Session shows “Creating…” but never completesSolution:
- Check Schaltwerk logs:
- Look for errors in the log
- Common causes:
- Git worktree creation failed
- Disk space full
- Permission denied
- Try canceling and recreating the session
Terminal won't start
Terminal won't start
Symptom: Session created but terminals are blank or frozenSolution:
- Check terminal permissions:
- System Settings → Privacy & Security → Developer Tools
- Add Terminal.app
- Restart Schaltwerk
- Try selecting the session again
- Check logs for PTY errors:
Can't switch between sessions
Can't switch between sessions
Symptom: Keyboard shortcuts don’t work or sessions don’t switchSolution:
- Check if another app is intercepting shortcuts:
- System Settings → Keyboard → Keyboard Shortcuts
- Look for conflicts with
⌘1-9
- Try clicking session in sidebar instead
- Restart Schaltwerk
Agent Issues
Agent won't start
Agent won't start
Symptom: Top terminal shows error or nothing happensPossible Causes & Solutions:1. Agent binary not found:3. Environment variables missing:
- Open Settings
- Go to Agent Configuration
- Verify binary path is correct
- Try:
which claude,which codex, orwhich droidin terminal
- Check Settings → Agent Configuration → Environment Variables
- Add required keys (e.g.,
ANTHROPIC_API_KEY)
- Check Settings → Run & Environment → Worktree Setup Script
- Look for errors in top terminal output
- Try running script manually in worktree
Agent crashes immediately
Agent crashes immediately
Symptom: Agent starts but exits right awaySolution:
- Check agent terminal output for errors
- Common issues:
- Invalid API key
- Network connectivity
- Incompatible CLI arguments
- Try running agent manually:
- Check agent-specific logs
Agent fails with 'ReadableStream is not defined' or similar errors
Agent fails with 'ReadableStream is not defined' or similar errors
Symptom: Error like “ReferenceError: ReadableStream is not defined” when starting agentSolution:
This occurs when using Node version managers (fnm, nvm, n) that set paths via shell config files. Schaltwerk spawns agents without loading Verify system Node version (what Schaltwerk uses):
.zshrc/.bashrc, so falls back to system Node, which may be outdated.Install Node via Homebrew to set a global default:Agent hangs or becomes unresponsive
Agent hangs or becomes unresponsive
Symptom: Agent stops responding, no outputSolution:
- Check agent terminal - might be waiting for input
- Press
Ctrl+Cto interrupt - Click Restart in session toolbar
- If persists, cancel session and create new one
Git Issues
Merge conflicts when merging to main
Merge conflicts when merging to main
Symptom: Can’t merge session back to main due to conflictsSolution:
-
Option 1: Merge main into session first
-
Option 2: Cherry-pick specific commits
-
Option 3: Manual merge
- Copy changes you want
- Apply manually to main branch
- Cancel session when done
Worktree directory already exists
Worktree directory already exists
Symptom: Error: “worktree already exists” when creating sessionSolution:
- Check if worktree is actually in use:
- If session was cancelled but worktree remains:
- If worktree is locked:
- Retry session creation
Can't delete branch after canceling session
Can't delete branch after canceling session
Symptom: Session cancelled but branch still existsSolution:
Cancelled sessions delete their local worktree and branch automatically. If a branch remains, it likely wasn’t canceled cleanly. Remove it manually:To delete from remote (if pushed):
Performance Issues
Schaltwerk is slow or laggy
Schaltwerk is slow or laggy
Symptom: UI is unresponsive, switching sessions is slowPossible Causes & Solutions:1. Too many sessions running:4. Database size:
- Each session uses 3 OS processes
- Close unused sessions
- Don’t run more than 5-10 sessions simultaneously
- Big repositories take longer to create worktrees
- Use
.gitignoreto exclude unnecessary files - Clean up
node_modulesin worktrees
Diff view is slow to load
Diff view is slow to load
Symptom: File diffs take long time to appearSolution:
- Large files slow down diff rendering
- Exclude large binary files from worktrees
- Use
.gitattributesto mark files as binary - Consider breaking up large files
MCP Server Issues
Claude Code can't find MCP server
Claude Code can't find MCP server
Symptom: MCP tools not available in Claude CodeSolution:
- Verify MCP server is built:
- Check configuration:
- Ensure path is absolute, not relative
- Restart orchestrator in Schaltwerk Settings
MCP operations fail
MCP operations fail
Symptom:
schaltwerk_create or other MCP tools errorSolution:- Check Schaltwerk is running
- Verify project is loaded in Schaltwerk
- Check database exists:
- Look for errors in MCP server logs
- Try rebuilding MCP server:
Database Issues
Database locked or corrupted
Database locked or corrupted
Symptom: Errors about database being locked or unable to openSolution:
- Close Schaltwerk completely
- Check for zombie processes:
- Backup database:
- Try SQLite repair:
- Last resort - delete and recreate:
Network Issues
MCP REST API not accessible
MCP REST API not accessible
Symptom: Can’t connect to
localhost:8547Solution:- Check if Schaltwerk is running
- Verify project is loaded
- Check if port is available:
- Try restarting Schaltwerk
- Check firewall settings
Agent can't access internet
Agent can't access internet
Symptom: Agent errors related to network/API callsSolution:
- Check system internet connection
- Verify API keys are correct
- Check for proxy settings
- Try agent manually in terminal
- Look for firewall blocking the agent
Logs and Debugging
Where to Find Logs
Debug Mode
Run Schaltwerk with debug logging:Getting Help
If you can’t resolve an issue:1
Check logs
Look at Schaltwerk logs for error messages
2
Search existing issues
Check GitHub Issues
3
Create an issue
If not found, open a new issue with:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Relevant log excerpts
- macOS version
- Schaltwerk version
4
Workaround
While waiting for fix:
- Try manual git operations
- Use terminal directly
- Restart Schaltwerk
- Close and reopen project
Preventive Measures
Regular Cleanup
- Cancel merged sessions
- Remove old worktrees
- Clean up database periodically
Keep Updated
Backup Important Work
- Commit work in sessions regularly
- Push branches to remote
- Don’t rely on local-only sessions
Monitor Resources
- Don’t run too many sessions
- Close unused sessions
- Watch system resource usage

