iTS – iTerm2 splitter for multiple command panes automation (Mac only)
iTS: one command to launch all your dev servers in iTerm2 panes (macOS)
Do you work on a project that requires you to run 10 different servers in dev mode so you can keep track of what is being logged? Opening panes one by one, retyping the same commands every morning? I built a small tool that does it in one command: iTS (iTerm Splitter).
GitHub: https://github.com/dejavu1987/iterm-splitter
Install
Grab the standalone binary from the releases page — it’s built with PyInstaller, so you don’t need Python installed.
1. Make it executable. Files downloaded from the internet don’t carry the execute permission, so the first step is to add it:
chmod +x iterm-splitter
If macOS Gatekeeper complains that the app “cannot be opened because it is from an unidentified developer”, clear the quarantine flag:
xattr -d com.apple.quarantine iterm-splitter
2. Put it on your PATH. Move the binary into a directory your shell already searches, so you can run it from any project instead of typing the full path:
sudo mv iterm-splitter /usr/local/bin/
(sudo is needed because /usr/local/bin is system-owned. If you prefer to avoid that, ~/.local/bin or ~/bin work too — just make sure the directory is in your $PATH.)
3. Add the short alias. The binary is called iterm-splitter, but you’ll be typing this every day, so alias it to its:
echo 'alias its="iterm-splitter"' >> ~/.zshrc
source ~/.zshrc
The source reloads your shell config so the alias works in the current session — new terminal windows pick it up automatically.
4. Enable iTerm2’s Python API (one-time). iTS drives iTerm2 through its Python API, which is off by default. Turn it on under Settings → General → Magic → Enable Python API, otherwise iTS can’t talk to iTerm2.
Verify everything works:
its --version
Quick start
In your project directory, run its --init and type one command per line (Ctrl+D to finish). That creates an its.txt like:
yarn develop
yarn storybook
docker compose up postgres redis
yarn workspace api dev
npx local-ssl-proxy --source 443 --target 3000
yarn test --watch
tail -f logs/app.log
From then on, just run its. It opens a fresh tab and launches every command in its own pane — app, Storybook, databases, proxy, test watcher, and logs, all visible at once.
(screenshot/GIF of the resulting pane grid here)
More ways to use it
- One-off, no file:
its "htop" "yarn dev" "stripe listen --forward-to localhost:3000/webhooks" - Different setups per task:
its --file frontend.txt - Layout control: panes stack 4 per column by default, then wrap into new columns. Tune it with
--max-v-pane 3.
Keep an its.txt in each of your projects, and even your most complex stack is one command away.