Personal tool. Built for my own workflow — sharing in case it's useful to anyone else.
Minimal tmux-based project launcher. Pick a project with fzf, choose an AI agent, get a tmux session with the agent and lazygit side by side.
┌──────────────────┬──────────────────┐
│ │ │
│ agent │ lazygit │
│ │ │
└──────────────────┴──────────────────┘
- Reattaches to existing sessions without recreating the layout
- Kill sessions from the same picker with ctrl-d
- Sets the terminal tab title to the project name (Ghostty, iTerm2)
- tmux
- fzf
- lazygit
- At least one AI agent CLI — e.g. Claude Code, Codex, Gemini CLI
git clone https://github.com/chrissy-dev/workon-tmux ~/Projects/workon-tmux
ln -s ~/Projects/workon-tmux/workon /usr/local/bin/workonmkdir -p ~/.config/workon
cp ~/Projects/workon-tmux/projects.txt.example ~/.config/workon/projects.txtEdit ~/.config/workon/projects.txt with your projects, one path per line:
# comments are supported
~/Projects/my-app
~/Projects/dotfiles
The session name is derived from the directory basename.
By default the agent picker shows claude and codex. Override by setting DEFAULT_AGENTS in ~/.config/workon/config:
DEFAULT_AGENTS="claude codex gemini"If only one agent is listed, the picker is skipped.
workon # pick a project
workon add # add a project via directory browser
workon remove # remove a project from the listRun from your terminal (outside tmux). Pick a project, choose an agent, and the session opens. Select an active session (marked *) to reattach, or use ctrl-d to kill it.