{"repo":"NousResearch/hermes-agent","public_id":"121756","display_label":"Anthropic OAuth token not updated after silent refresh","summary":"A bug where the agent's stored API key is not updated when an Anthropic OAuth token is silently refreshed, causing auxiliary or subsequent calls to continue sending the revoked token. Related fixes address keeping the key current and propagating the refresh to all holders of the old token.","subsystem":"agent","counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":133233,"merged_at":"2026-10-07T07:50:44+00:00"},"resolution":{"state":"resolved","by":"pr-133233"},"freshness":{"state":"verified","last_verified_at":"2026-10-07T07:50:44+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":121756,"pr_number":133233,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-07T07:50:44+00:00"},{"issue_number":133763,"pr_number":133233,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-10-07T07:50:44+00:00"}],"members":[{"kind":"issue","number":121756,"title":"[Bug]: Auxiliary calls on `auto` keep sending a revoked Anthropic OAuth token after the main agent's silent token refresh (`agent.api_key` is never updated)","url":null,"state":"closed"},{"kind":"pr","number":121757,"title":"fix(agent): keep api_key in step after Anthropic credential refresh","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#133233","number":133233},{"kind":"pr","value":"#121756","number":121756},{"kind":"pr","value":"#107448","number":107448}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":121859,"title":"fix(agent): move every holder of a revoked Anthropic token on refresh","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"fde2beaec960fb7dbd02099be5ad8b4fbef1c987","number":0},{"kind":"commit","value":"8b66a51036c1e20920a17cdd049fdf55c968d683","number":0},{"kind":"pr","value":"#121757","number":121757},{"kind":"pr","value":"#104383","number":104383},{"kind":"pr","value":"#107448","number":107448},{"kind":"pr","value":"#122601","number":122601}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":133233,"title":"Anthropic OAuth sessions keep compression and auxiliary calls working after a silent token refresh, including compaction before the first request (#121756, salvage #121859, #121757, #130334)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/auxiliary_key_rotation.py","agent/client_lifecycle.py","agent/conversation_compression.py","agent/conversation_compression_codex.py","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","tests/agent/test_anthropic_third_party_oauth_guard.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}