Apply agent account selection to CLI subprocesses (#14233)
* Apply agent account selection to CLI subprocesses * Fix account dispatch edge cases and remove redundant shell wrappers * Use the current account when launching a new agent session
This commit is contained in:
1 parent
5657a91f8d
commit
f9646299bf
15 files changed
+351
-67
No files matched your search
@@ -25,6 +25,27 @@ if [ "$OMARCHY_PATH" != /usr/share/omarchy ]; then
|
||||
esac
|
||||
fi
|
||||
|
||||
# mise's command wrappers must precede real tool directories inherited from a
|
||||
# parent shell, so scripts follow account switches without Bash functions.
|
||||
# mise activate also keeps this directory ahead of its managed tool binaries.
|
||||
omarchy_wrapper_dir="${MISE_DATA_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/mise}/command-wrappers/bin"
|
||||
omarchy_wrapper_path=$omarchy_wrapper_dir
|
||||
if [ -n "${PATH:-}" ]; then
|
||||
omarchy_remaining_path=$PATH
|
||||
while :; do
|
||||
omarchy_path_entry=${omarchy_remaining_path%%:*}
|
||||
if [ "$omarchy_path_entry" != "$omarchy_wrapper_dir" ]; then
|
||||
omarchy_wrapper_path="$omarchy_wrapper_path:$omarchy_path_entry"
|
||||
fi
|
||||
case "$omarchy_remaining_path" in
|
||||
*:*) omarchy_remaining_path=${omarchy_remaining_path#*:} ;;
|
||||
*) break ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
PATH=$omarchy_wrapper_path
|
||||
unset omarchy_wrapper_dir omarchy_wrapper_path omarchy_remaining_path omarchy_path_entry
|
||||
|
||||
# User-level tool paths, appended so system binaries keep precedence. This is
|
||||
# what lets login shells (ssh, bash -lc) and the uwsm session find mise-managed
|
||||
# tools without an interactive rc. Keep these directories in sync with the PAM
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
# Start Claude Code, Codex, and Grok as the active subscription account, so
|
||||
# `cx`, `cy`, `tdl` and a plain `claude` all follow `omarchy agent account use`.
|
||||
# An explicitly set CLAUDE_CONFIG_DIR / CODEX_HOME / GROK_HOME still wins.
|
||||
claude() {
|
||||
local home=""
|
||||
[[ -z ${CLAUDE_CONFIG_DIR:-} ]] && home=$(omarchy-agent-account-home claude)
|
||||
|
||||
if [[ -n $home ]]; then
|
||||
CLAUDE_CONFIG_DIR="$home" command claude "$@"
|
||||
else
|
||||
command claude "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
codex() {
|
||||
local home=""
|
||||
[[ -z ${CODEX_HOME:-} ]] && home=$(omarchy-agent-account-home codex)
|
||||
|
||||
if [[ -n $home ]]; then
|
||||
CODEX_HOME="$home" command codex "$@"
|
||||
else
|
||||
command codex "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
grok() {
|
||||
local home=""
|
||||
[[ -z ${GROK_HOME:-} ]] && home=$(omarchy-agent-account-home grok)
|
||||
|
||||
if [[ -n $home ]]; then
|
||||
GROK_HOME="$home" command grok "$@"
|
||||
else
|
||||
command grok "$@"
|
||||
fi
|
||||
}
|
||||
Reference in new issue
Block a user