diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-14 06:00:59 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-14 06:00:59 -0500 |
| commit | e2db0679694993554b26366e49cddd9e8cedd08f (patch) | |
| tree | 9b549c7546a916aa386a538319a0d7164eca13fa /dotfiles/common | |
| parent | 2ef03a1b84c9f70663207713ecbc4e3297e20760 (diff) | |
| download | archsetup-e2db0679694993554b26366e49cddd9e8cedd08f.tar.gz archsetup-e2db0679694993554b26366e49cddd9e8cedd08f.zip | |
feat(profile.d): name Claude Code remote-control sessions by host and cwd
I added a shell function that wraps `claude` and exports
CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX as "<short-hostname>/<cwd-basename>"
on every call. The prefix shows up in FleetView and `claude agents` so I can
tell sessions apart when several are open across projects and hosts.
I picked a function over a plain .zshrc export because $PWD has to re-evaluate
each call, not once at shell init. I picked it over an alias because the
function form is greppable and reads cleanly in `type` output.
Only affects Remote Control mode. Plain interactive `claude` is unchanged.
Diffstat (limited to 'dotfiles/common')
| -rw-r--r-- | dotfiles/common/.profile.d/claude.sh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/dotfiles/common/.profile.d/claude.sh b/dotfiles/common/.profile.d/claude.sh new file mode 100644 index 0000000..f9ec9dd --- /dev/null +++ b/dotfiles/common/.profile.d/claude.sh @@ -0,0 +1,15 @@ +# claude.sh +# Craig Jennings <c@cjennings.net> +# Claude Code wrapper — auto-name Remote Control sessions as <host>/<cwd-basename> + +# Wraps `claude` so each invocation sets a session-name prefix derived from +# the current short hostname and the basename of the working directory. The +# prefix appears in FleetView and in `claude agents` so multiple sessions are +# distinguishable at a glance (e.g. "ratio/homelab", "mybitch/yt-sync"). +# +# Only affects Remote Control mode; plain interactive sessions are auto-named +# from the first prompt and don't read this variable. +claude() { + CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX="$(hostname -s)/$(basename "$PWD")" \ + command claude "$@" +} |
