PMM What's Shipping: Duo CLI GA
<!--Title format: `PMM: Feature title - milestone`-->
## PMM What's Shipping Summary
- **Feature title:** Duo CLI GA Release
- **Feature overview:** Duo CLI is the terminal interface for the Duo Agentic Platform. It brings GitLab Duo's agentic capabilities to the command line so developers can drive multi-step AI workflows from any terminal, on any OS, independent of their IDE — interactively or in headless mode for CI and scripts.
- **Proposed launch date:** Shipping in the 19.1–19.2 window (no 19.2 server-side dependencies); rolled into 19.2 for "What's new."
- **User pain point:** Developers and platform teams want GitLab Duo's agentic workflows outside the IDE — at the terminal, in scripts, and inside CI runners — but until now the only production-grade entry points have been IDE extensions and the web. That has blocked:
- Terminal-first developers who don't want to context-switch into an IDE for AI assistance.
- Headless / automation use cases (CI jobs, runners, scripts) that need to invoke Duo agents non-interactively.
- Enterprise adoption, where admins need an on/off toggle and predictable controls before rolling Duo CLI out at scale.
- **Common use case(s):**
- **Code comprehension** — ask complex questions about a repo, cross-file behavior, or a specific snippet from the terminal.
- **Agentic code development** — build, modify, refactor, and modernize code via multi-step autonomous sessions.
- **Troubleshooting & CI/CD** — diagnose errors, fix failing pipelines, and optimize CI configuration directly where the failure happened.
- **Headless automation** — invoke Duo non-interactively from runners and scripts to embed AI steps into existing CI workflows.
- **Terminal-native workflows** — use Duo without leaving tmux/SSH sessions or IDE-less environments (remote dev boxes, servers).
- **Primary [persona(s)](https://handbook.gitlab.com/handbook/product/personas/):** Sasha (Software Developer). Secondary: Sidney (Systems Administrator) for the admin enable/disable control.
- **In scope:** Tracked in the GA epic — [gitlab-org&19717 — Duo CLI GA](https://gitlab.com/groups/gitlab-org/-/epics/19717). Highlights:
- Enterprise admin on/off toggle (`duo_cli_enabled` setting), available across .com, Self-Managed, and Dedicated.
- Pattern-based tool approvals to reduce approval friction in agentic sessions.
- MCP configuration exposed via slash command; context usage/management exposed via slash command.
- Session summary on session end and restart.
- Environment diagnostic command to validate local setup.
- Beta-feedback UX quality fixes across the core CLI experience.
- Binary distribution as the recommended install path; npm package marked deprecated.
- **Out of scope:**
- Net-new agentic skills beyond what already ships in beta (incremental skills land post-GA).
- Migration of existing CI workloads off the deprecated npm package (tracked separately in [#600436](https://gitlab.com/gitlab-org/gitlab/-/work_items/600436)).
- Post-GA polish items captured in the epic's "Follow-up" section (e.g., MCP per-server log view, deferred OAuth, external-editor prompts, additional skills).
- **Will there be future iterations this is building to? If so, please describe:** No single follow-on epic — individual capability iterations (new skills, deeper MCP support, additional admin controls, npm sunset) will continue post-GA on the normal Duo CLI roadmap.
- **Docs:** https://docs.gitlab.com/user/gitlab_duo_cli/ (docs GA updates tracked in [#595689](https://gitlab.com/gitlab-org/gitlab/-/work_items/595689))
- **Availability:** GA — .com, Self-Managed, Dedicated.
##### Images (screenshots, prototype or video)
_(to be added — pull a representative session screenshot from the epic header image)_
---
## Current status
- Last update date: 5th June
- Status: Draft summary populated; awaiting screenshots and final PMM sync.
---
<!--Issue hygiene-->
- [x] Milestone: [apply delivery milestone to issue]
- [x] Labels: [apply applicable platform labels (platform: GitLab.com, platform: dedicated, platform: dedicated for gov, platform: self-managed)]
- [x] Assignee: [<]assign to AI PM DRI]
---
_this item and others slated to ship can be viewed on _[_this board_](https://gitlab.com/gitlab-org/gitlab/-/boards/9849116?milestone_title=Any%20Milestone&label_name%5B%5D=pmm-ai-whats-shipping)
issue