{"repo":"NousResearch/hermes-agent","public_id":"112568","display_label":"MCP OAuth crash from malformed cached redirect_uris","summary":"A bug was identified where malformed redirect_uris entries in the cached OAuth client.json caused the MCP OAuth login flow to crash on every attempt. Multiple fixes address skipping or handling these malformed entries to prevent the crash.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":2,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":113786,"merged_at":"2026-09-17T15:46:36+00:00"},"resolution":{"state":"resolved","by":"pr-113786"},"freshness":{"state":"verified","last_verified_at":"2026-09-17T15:46:36+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":112568,"pr_number":113068,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-16T23:50:28+00:00"},{"issue_number":112568,"pr_number":113786,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T15:46:36+00:00"}],"members":[{"kind":"issue","number":112568,"title":"[Bug]: MCP OAuth: malformed cached redirect_uris entry crashes the OAuth flow every attempt","url":null,"state":"closed"},{"kind":"pr","number":112569,"title":"fix(mcp): skip malformed cached OAuth redirect_uris instead of crashing","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"f8f89b20d27","number":0},{"kind":"commit","value":"e166791f9ffbb825a75aa41f6c447e5cb14fc6d0","number":0},{"kind":"pr","value":"#113068","number":113068}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":113068,"title":"fix(mcp): malformed cached OAuth redirect_uris no longer crash the login flow (#112568, salvage #112569)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["tests/tools/test_mcp_oauth.py","tools/mcp_oauth.py"]},{"kind":"pr","number":113786,"title":"fix(mcp): poisoned client.json is covered end-to-end on the OAuth login path (closes remaining atoms of #112568)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["tests/tools/test_mcp_oauth.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}