An ADHD-friendly, calm, and organized-by-default replacement for the Claude app, or the 10 terminal windows you have open right now.
Add persistent notes, rename windows, and easily spin off ideas into new chats. Customize your window view, never miss a session that needs you, and easily quiet everything that you don’t want to pay attention to.
New sessions created in Mason are automatically nested into projects based on their topics, and sessions in a git worktree join their main project.
An example list. Green is working, grey is idle, and a session that needs you lights up.
moonbase-api
burritocopter
Try the layout menu above. The outlined window is the one you’re typing in, and a fainter edge marks the one you just left. Each window shows its model (click to switch) and can hold a note.
You need a Mac with Apple silicon, Claude Code, Homebrew, and Node.js 20 or newer. Mason builds on your own machine, so it takes a couple of minutes the first time.
git clone https://github.com/brittanyrferrero/mason.git ~/mason
~/mason. Everything works, but there's no Update button; download again for a newer version.brew install tmux cd ~/mason npm install
/pause and /stash to Claude. Your settings file is backed up first.node scripts/hooks.mjs install
~/Applications and opens it.scripts/install-app.sh
Updating. When there's a new version, a quiet Update button shows up at the top right of Mason with what's new. Click it and Mason rebuilds and reopens itself; running sessions keep going. (This needs the git clone install; a .zip copy stays as it is.) You can also pull the latest code and run scripts/install-app.sh yourself.
Uninstalling. node scripts/hooks.mjs uninstall removes exactly what it added. Then delete Mason.app and ~/.mason.
Escape hatch. From any Terminal, tmux -L mason ls lists Mason's sessions and tmux -L mason attach -t <name> opens one.
Mason has no network port. It reads what Claude Code already writes to disk and keeps its own data in one SQLite file. The only things that leave your Mac are the short summaries it asks Claude to write (you can turn those off) and a quiet check on GitHub for a newer version.
~/.mason/pause, /stash# reads ~/.claude/projects/**/*.jsonl transcripts ~/.claude/sessions/*.json running, busy, idle # writes ~/.mason/mason.db Mason's own data ~/.mason/events.jsonl one line per hook event