store: cc() tmux alias: auto-launch Claude with nesting support

This commit is contained in:
Cal Corum 2026-02-26 12:43:50 -06:00
parent ece4eaddfa
commit a6d7fd4794

View File

@ -0,0 +1,43 @@
---
id: ae674150-d714-452a-bc65-7f866b45c8a9
type: configuration
title: "cc() tmux alias: auto-launch Claude with nesting support"
tags: [tmux, zshrc, alias, claude-code, homelab, configuration]
importance: 0.55
confidence: 0.8
created: "2026-02-26T18:43:50.686761+00:00"
updated: "2026-02-26T18:43:50.686761+00:00"
---
# cc() tmux alias: auto-launch Claude with nesting support
## Context
Cal's `~/.zshrc` has a `cc()` function for quickly launching Claude Code inside a named tmux session.
## Final Implementation
```zsh
cc() {
local name="${1:-$(basename $PWD)}"
if [ -n "$TMUX" ]; then
tmux new -ds "$name" "claude" 2>/dev/null || tmux switch-client -t "$name"
tmux switch-client -t "$name"
else
tmux new -s "$name" -A "claude"
fi
}
```
## Key Behaviors
- Auto-names session from current directory basename if no argument given
- Launches `claude` automatically inside the new session
- If already inside tmux (`$TMUX` is set): creates a detached session and switches to it, avoiding nested tmux
- If not in tmux: creates or attaches (`-A`) to the named session
- The `2>/dev/null || switch-client` pattern handles the case where the session already exists
## Notes
- Cal's terminal (Warp or similar) may auto-start tmux on login, so the nesting check is important in practice
- `cc project-name` overrides the auto-naming behavior