claude-multiacc 2.0.8 → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1047,10 +1047,17 @@ cmd_expired() {
1047
1047
  return 1
1048
1048
  fi
1049
1049
  printf '%s\n' "$rows" | awk -F'\t' '
1050
- BEGIN { bad = 0; ok = 0; remote = 0; relogin = 0 }
1050
+ BEGIN { bad = 0; ok = 0; remote = 0; relogin = 0; unverified = 0 }
1051
1051
  NF < 4 || $1 == "" { next } # never invent an account from a blank line
1052
1052
  $4 == "ok" { ok++; next }
1053
1053
  $4 == "remote" { remote++; rem = rem sprintf(" %-9s %-28s %s\n", $1, $2, $6); next }
1054
+ $4 == "unverified" {
1055
+ bad++
1056
+ unverified++
1057
+ printf " %-9s %-28s %-9s %s\n", $1, $2, $5, $6
1058
+ printf " %-9s %-28s %-9s fix: %s\n", "", "", "", $7
1059
+ next
1060
+ }
1054
1061
  {
1055
1062
  bad++
1056
1063
  relogin++
@@ -1064,13 +1071,17 @@ cmd_expired() {
1064
1071
  printf "\nNot logged in here on purpose (another machine owns the grant):\n"
1065
1072
  printf "%s", rem
1066
1073
  }
1074
+ if (unverified > 0) {
1075
+ printf "\nVerify portable tokens:\n"
1076
+ printf " claude-accounts verify\n"
1077
+ }
1067
1078
  if (relogin > 0) {
1068
1079
  printf "\nRe-authenticate them:\n"
1069
1080
  printf " claude-accounts relogin # every account that needs it\n"
1070
1081
  printf " claude-accounts relogin acct-NN # just one\n"
1071
1082
  }
1072
1083
  }'
1073
- # Exit 1 when something needs a human, so cron/health checks can alert on it.
1084
+ # Exit 1 when something needs attention, so cron/health checks can alert on it.
1074
1085
  [ -z "$bad" ]
1075
1086
  }
1076
1087
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-multiacc",
3
- "version": "2.0.8",
3
+ "version": "2.0.9",
4
4
  "description": "Unified Claude Code and OpenAI Codex subscription pooling with quota-aware selection.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -2463,6 +2463,11 @@ out="$(claude-accounts expired 2>&1)"
2463
2463
  check "expired does not call an unverified setup-token healthy" "acct-01" "$out"
2464
2464
  check "expired labels an unverified setup-token" "UNVERIFIED" "$out"
2465
2465
  check "expired gives the setup-token verification fix" "claude-accounts verify" "$out"
2466
+ case "$out" in
2467
+ *"Re-authenticate them"*)
2468
+ t_fail "unverified setup-token does not demand re-login" "expired gave the wrong fix" ;;
2469
+ *) t_ok "unverified setup-token does not demand re-login" ;;
2470
+ esac
2466
2471
  out="$(claude-accounts verify 2>&1)"
2467
2472
  case "$out" in *"acct-01 a@test: PASS"*) t_ok "verify uses the portable token when the credential is dead" ;;
2468
2473
  *) t_fail "verify token fallback" "expected acct-01 PASS, got: $(printf '%s' "$out" | grep acct-01)" ;; esac