Google released a new extension system for its Agents CLI tool. This update allows teams to use frameworks like LangChain without forcing them to adopt ADK. The system lets developers add commands or override existing ones without forking the tool. Version 1.5.0 introduced the Extension System to support diverse agent frameworks. Version 1.8.0 shipped the first-party LangChain extension for the tool.
Agents CLI now supports extensions for non-ADK frameworks
Google launched the Agents CLI Extension System to handle diverse agent frameworks. Teams can now use LangChain, LangGraph, or custom frameworks with the same tool. Previously, the CLI assumed developers were using the Agent Development Kit (ADK). This assumption limited access to commands when teams chose different frameworks. The new system lets teams override built-in commands or add new ones easily. Developers no longer need to fork the CLI to support non-ADK workflows. Forking requires permanent maintenance and hand-merging every upstream release. Wrapping the CLI in custom scripts often leads developers to bypass the wrapper. Building everything from scratch consumes several engineer-months of planned work. The Extension System fixes these issues by adapting the CLI to any framework.
How the extension system works and how it avoids forking
An extension is a directory in a Git repository containing a specific file. The file is named agents-cli-extension.yaml and declares command overrides. It lists which built-in commands the extension replaces or adds to the tool. Extensions take two shapes: command overrides and new custom commands. A command override replaces the behavior of a built-in like playground or deploy. The overridden command receives the user's arguments exactly as they typed them. A new command exposes a workflow the CLI does not currently provide. Developers run agents-cli followed by their custom command name. Both shapes can coexist in the same extension repository. Most non-trivial extensions use a combination of overrides and new commands.
Extensions are distributed through Git repositories rather than a package registry. The design draws from the extension model used by the gemini-cli project. There is no central index to publish to or a package format to maintain. Any directory inside any Git repository can serve as an extension. Git handles the versioning, pinning, and distribution of these extensions automatically. Enterprise platform teams can create an internal repository for their extensions. Developers point their tools at this repository without coordinating with external registries. A single Git repository can hold multiple extensions under one ownership. The fragment identifier syntax lets a repo hold several related extensions. For example, one extension handles deploy, another handles login, and another scaffolds. This shared ownership allows for a consistent release cadence across the family.