Synesthesia updates your terminal tab and background colours depending on the go module name in your directory ancestry.
- iTerm2: Automatically updates the tab colour.
- Ghostty & Others: Lightly tints the terminal background (enabled by default).
If you use git worktrees (or jj workspaces), then each copy of the same project will have a different but consistent colour.
go install github.com/roryq/synesthesia@latestAdd the following line to your ~/.config/fish/config.fish:
synesthesia hook fish | sourceAdd the following line to your ~/.zshrc:
eval "$(synesthesia hook zsh)"Navigate between your directories as usual. When you have multiple tabs open for different projects, a consistent random colour will be chosen for any tabs with the same project name.
You can sense a colour for any custom string (useful for agent names or specific project labels):
synesthesia sense "my-project-label"Background tinting is enabled by default. To disable it, use the --no-background-tint flag:
synesthesia --no-background-tintTo generate a hook with tinting disabled:
synesthesia hook zsh --no-background-tint