mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-10-26 13:16:24 +00:00
* fix(models): fall through an unusable credential source instead of ending the lookup load_claude_code_credential's env branch returned None even when _credential_from_direct_token rejected the value, so a valid ~/.claude/.credentials.json was never consulted for a blank token. load_codex_cli_credential's 'or' chain stops at the first truthy layout, so a blank or non-string top-level access_token hid a usable 'token' or 'tokens.access_token' in the same file -- and made the loader disagree with scripts/doctor.py, which validates all three layouts. Fixes #7139 * fix(models): try both env token sources and log the rejected one A whitespace-only CLAUDE_CODE_OAUTH_TOKEN is rejected by _credential_from_direct_token, but os.getenv(A) or os.getenv(B) never reads ANTHROPIC_AUTH_TOKEN while A is truthy, so the blank first variable hid a usable second one. Test each source with the same non-blank rule, and log the rejected variable at debug (no token material) so the resolution outcome stays observable. Also refresh the doctor.py mirror comment: the loader rejects whitespace-only tokens in every layout now, so the documented strictness divergence is gone. * style(tests): format credential fallback log assertion --------- Co-authored-by: Willem Jiang <willem.jiang@gmail.com>