fix(anthropic): adopt Claude Code's already-refreshed token before racing refresh

Claude Code OAuth refresh tokens are single-use; Claude Code refreshes on
its own schedule, so by the time Hermes notices an expired token Claude
Code may have already rotated it. Re-read live credential sources first and
adopt a valid token rather than POSTing a possibly-stale refresh token.

Ports the _refresh_oauth_token hardening from PR #40107 (chazmaniandinkle)
on top of the keychain/file reconciliation from PR #21112 (nodejun).
Adds AUTHOR_MAP entry for nodejun.
This commit is contained in:
Chaz Dinkle 2026-06-27 18:49:33 -07:00 committed by Teknium
parent 5a5396aecb
commit 1dde7e2f2a
3 changed files with 105 additions and 2 deletions

View file

@ -1575,6 +1575,7 @@ AUTHOR_MAP = {
"david@loadmagic.ai": "davidcampbelldc", # PR #26834 (web_server proxy_headers=False)
"165905879+davidcampbelldc@users.noreply.github.com": "davidcampbelldc",
"chazmaniandinkle@gmail.com": "chazmaniandinkle", # PR #43888 (launchd /restart detection)
"sksmsghkdud1@gmail.com": "nodejun", # PR #21112 (anthropic keychain/file credential desync)
"hoangv.pham0803@gmail.com": "hehehe0803", # PR #26212 salvage (codex kanban writable root)
"26063003+hehehe0803@users.noreply.github.com": "hehehe0803",
"kasunvinod@users.noreply.github.com": "kasunvinod", # PR #24126 salvage (codex timeout propagation)