feat: аккаунт между веткой и моделью, exit 0 в switch-account хуке

- statusline: [account] выводится между [branch] и model, тот же оранжевый цвет
- switch-account-hook: exit 0 вместо exit 2, чтобы Claude ответил и перерисовал статусбар
- switch-account skill: инструкция отвечать одним символом ✓

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Виталий Никитенко
2026-06-10 08:55:05 +03:00
parent cff3ed880d
commit 23256d9579
3 changed files with 13 additions and 10 deletions

View File

@@ -1,5 +1,7 @@
#!/usr/bin/env bash
# UserPromptSubmit hook: перехватывает /switch-account без участия LLM
# UserPromptSubmit hook: перехватывает /switch-account и обновляет аккаунт.
# Используем exit 0 (не exit 2) чтобы Claude ответил - это единственный способ
# обновить статусную строку, т.к. Claude Code перерисовывает её только после ответа LLM.
input=$(cat)
prompt=$(echo "$input" | jq -r '.user_prompt // .prompt // empty' 2>/dev/null)
@@ -38,7 +40,7 @@ cp "$ACCOUNTS_DIR/${next}.credentials.json" "$CREDS"
chmod 600 "$CREDS"
echo "$next" > "$CURRENT_FILE"
echo "Аккаунт: ${current:-?} -> ${next} (всего: ${#accounts[@]})" >&2
exit 2
# exit 0 (не exit 2): оригинальный /switch-account доходит до Claude,
# Claude загружает скилл switch-account, скилл велит ответить только "✓" (1 токен).
# Это единственный способ обновить статусную строку без лишних токенов.
exit 0