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 | 9b405b697cef5a9be5b2b8eeaa20a8c6dff1ff69 (patch) | |
| tree | 9b549c7546a916aa386a538319a0d7164eca13fa /dotfiles/common/.profile.d/claude.sh | |
| parent | 8ea5bd45fb6d613a48d5285e99026925a4dfaae0 (diff) | |
| download | archsetup-9b405b697cef5a9be5b2b8eeaa20a8c6dff1ff69.tar.gz archsetup-9b405b697cef5a9be5b2b8eeaa20a8c6dff1ff69.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/.profile.d/claude.sh')
| -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 "$@" +} |
