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