Quality of Life

Smart Window Titles

son automatically names your terminal windows and tabs to match the project you're working in. Find the right terminal in milliseconds, not seconds.

api-gateway — zsh
~/api-gateway $ son
Opening api-gateway in iTerm2 with split layout...

Without son

Tab 1:~
Tab 2:~/dev
Tab 3:~
Tab 4:~/projects
Which tab has your API gateway?

With son

Tab 1:api-gateway
Tab 2:web-frontend
Tab 3:auth-service
Tab 4:data-pipeline
Instant recognition

How it works

When son opens a project workspace, it automatically sets the terminal window title to the project's directory name. This works across all supported terminals:

  • iTerm2 — Uses AppleScript and iTerm2's native OSC 1337 escape sequences for accurate session names
  • tmux — Sets the window name using tmux's rename-window command
  • WezTerm — Uses WezTerm's domain-specific labeling API for tab and pane titles

Per-project control

If you want to customize a project's window title, add a name field to your project's .son.toml:

[project]
name = "api-gateway"
title = "Gateway"

The title will be used instead of the directory name.

Disable if needed

If you prefer to manage window titles yourself, set set_window_title = false in your ~/.config/son/config.toml.