Anthropic OAuth was removed in v2.74.0 for TOS compliance (#3952). Users who upgraded through that version still have type:"oauth" entries under `anthropic` in auth.json which cannot resolve to a valid API key. stale entry, so hasAuth("anthropic") kept reporting true and masked the claude-code fallback path. Users had to hand-edit auth.json to recover. Self-heal instead: - AuthStorage.removeLegacyOAuthCredential(provider) strips only type:"oauth" entries and preserves any api_key credentials. - sdk.ts getApiKey() calls it when the legacy-OAuth branch triggers, logs a one-line warning, and throws a message pointing the user at the "claude-code" provider when the `claude` binary is in PATH, or at ANTHROPIC_API_KEY otherwise. Closes #4399 (cherry picked from commit b8ef6604617fda239a037cf5d5e6020b168d2e62) |
||
|---|---|---|
| .. | ||
| daemon | ||
| mcp-server | ||
| native | ||
| pi-agent-core | ||
| pi-ai | ||
| pi-coding-agent | ||
| pi-tui | ||
| rpc-client | ||