#22923: feat(auth): add qwen-agent plugin auth choice support
docs
commands
size: M
Cluster:
AI Provider Enhancements
## Summary
- add bundled `qwen-agent-auth` plugin package (device OAuth flow + provider metadata)
- wire new `qwen-agent` auth choice into onboarding/auth-choice flows
- auto-enable `qwen-agent-auth` when a qwen-agent profile exists
- update docs to show qwen-agent as primary Qwen OAuth path while preserving qwen-portal as legacy
- add e2e/unit coverage for auth choice routing and plugin auto-enable behavior
## Validation
- `pnpm test src/config/plugin-auto-enable.test.ts`
- `pnpm vitest run --config vitest.e2e.config.ts src/commands/auth-choice-options.e2e.test.ts src/commands/auth-choice.e2e.test.ts`
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
Added bundled `qwen-agent-auth` plugin package with device OAuth flow and provider metadata, wired the new `qwen-agent` auth choice into onboarding and auth-choice flows, configured auto-enable when a `qwen-agent` profile exists, and updated docs to show `qwen-agent` as the primary Qwen OAuth path while preserving `qwen-portal` as legacy.
- Added new plugin under `extensions/qwen-agent-auth/` with device code OAuth flow implementation
- Integrated `qwen-agent` auth choice across all auth routing surfaces (auth-choice.apply.ts, auth-choice-options.ts, preferred-provider mapping, onboard types)
- Added plugin auto-enable mapping for `qwen-agent-auth` when `qwen-agent` provider is configured
- Updated documentation to position `qwen-agent` as primary with `qwen-portal` as legacy alternative
- Added comprehensive test coverage (76 new test cases) for auth choice routing and plugin auto-enable behavior
<h3>Confidence Score: 5/5</h3>
- This PR is safe to merge with minimal risk
- The implementation follows established patterns exactly (mirrors qwen-portal-auth, google-antigravity-auth, and minimax-portal-auth), has comprehensive test coverage with 76 new test cases passing, maintains backward compatibility by preserving qwen-portal as legacy, uses standard OAuth2 device code flow, and updates all necessary integration points (auth routing, plugin auto-enable, docs) consistently
- No files require special attention
<sub>Last reviewed commit: 40eb382</sub>
<!-- greptile_other_comments_section -->
<sub>(4/5) You can add custom instructions or style guidelines for the agent [here](https://app.greptile.com/review/github)!</sub>
<!-- /greptile_comment -->
Most Similar PRs
#14013: feat: Add Qwen DashScope API Key authentication support
by pkycy · 2026-02-11
76.0%
#3591: CLI: add OpenAI-compatible endpoint auth choice
by surak · 2026-01-28
71.7%
#22105: feat(auth): add refreshable Anthropic OAuth login flow
by sauerdaniel · 2026-02-20
70.3%
#10486: feat: A2A protocol plugin
by benclarkeio · 2026-02-06
69.6%
#23749: fix some issues
by tronpis · 2026-02-22
69.4%
#17845: feat(onboard): add built-in Fireworks provider
by Autumn-Whisper · 2026-02-16
69.2%
#14222: core: add needsApproval to before_tool_call; move AgentShield to ex...
by Eventedge · 2026-02-11
68.8%
#2556: fix(plugin-install): handle existing plugins and filter workspace deps
by longmaba · 2026-01-27
68.8%
#17605: fix: preserve scopes when disableControlUiDeviceAuth is enabled
by MisterGuy420 · 2026-02-16
68.7%
#9163: Fix: Save Anthropic setup token to config file
by vishaltandale00 · 2026-02-04
68.4%