Gemini CLI v0.67.0: list available models, bridge the IDE into container sandboxes#
Published by Alex Sorokoletov
Part of the Gemini CLI Version Tracker series. | Gemini CLI on GitHub | Releases
Gemini CLI v0.67.0 follows v0.66.0 by adding a models command and a --list-models flag that print the available Gemini models and exit, bridging the IDE companion to run inside container sandboxes over stdio, and shipping fixes to request cancellation in non-interactive mode, settings migration, and quota error handling.[1]
Model discovery from the command line#
This release adds a models command, described as "Manage or list Gemini models," along with a top-level --list-models flag described as "List available Gemini models and exit."[2] The models list subcommand accepts --output-format text or json. In JSON form it prints each model record, and each record carries that model's input and output context-token limits.[2]
That gives a session a way to enumerate the models it can reach without starting a chat first. The flag exits after printing, so it fits a startup check or a shell pipeline rather than an interactive prompt.
The IDE companion inside container sandboxes#
The IDE companion is bridged into container sandboxes over exec stdio, so the editor integration is reachable when the CLI runs inside a container sandbox.[3] Two related fixes tighten how the CLI reads files while an IDE is attached: IDE settings and GEMINI.md files are excluded from the open-file context,[4] and relative file paths resolve against the active IDE workspace root.[5]
Fixes#
| Area | What changed |
|---|---|
| Non-interactive cancellation | Termination signals are handled and tool execution is prevented after cancellation in non-interactive mode.[6] Continuation stream processing and auto-nudge stop after a request is cancelled.[7] |
| Settings migration | ${VAR} placeholders are preserved during deprecated settings migration.[8] Claude-style hook timeouts are converted from seconds to milliseconds during migration.[9] |
| Quota errors | Project spending cap errors are classified as terminal quota errors.[10] |
| Workspace trust | Untrusted flag checks are scoped to external output, and approved flags are remembered.[11] |
| Permission requests | ACP permission requests include MCP server and tool metadata.[12] |
| Agent loading | Duplicate agent loading is prevented when the workspace is the home directory.[13] |
| Model turns | All model turns with function calls receive thought signatures.[14] |
| Token usage | Extended token usage metadata is preserved and per-turn reporting is aligned.[15] |
| Custom headers | Custom headers are split following RFC 9110 token rules.[16] |
| Atomic writes | Read-only files and hard links are respected in atomic writeTextFile.[17] |
| Terminal width | Thai and Lao SARA AM display width is corrected,[18] and terminals that render ambiguous-width characters as wide are handled.[19] |
Model discovery a script can read#
The JSON output of models list reports each model with its context-token limits, so a wrapper can read the model set and its token budgets from live command output instead of a hardcoded identifier. The model names a build advertises shift from release to release, and a startup check that reads the list stays correct across those shifts without an edit.
The configuration variables and model identifiers are unchanged from v0.66.0; the rest of v0.67.0 is fixes. They land across non-interactive runs, file resolution while an IDE is attached, and terminal character width, the seams a long session drives rather than the model call itself.
Sources#
- [1] Gemini CLI v0.67.0 release notes (v0.66.0 to v0.67.0)
- [2] PR #29880: add models command and --list-models flag for model discovery
- [3] PR #29858: bridge the IDE companion into container sandboxes over exec stdio
- [4] PR #29848: exclude IDE settings and GEMINI.md files from open file context
- [5] PR #29838: resolve relative file paths against active IDE workspace root
- [6] PR #29849: handle termination signals and prevent tool execution after cancellation in non-interactive mode
- [7] PR #29868: stop continuation stream processing and auto-nudge after request cancellation
- [8] PR #29867: preserve ${VAR} placeholders during deprecated settings migration
- [9] PR #29899: convert Claude hook timeout from seconds to milliseconds during migration
- [10] PR #29961: classify project spending cap errors as terminal quota errors
- [11] PR #29833: scope untrusted flag checks to external output and remember approved flags
- [12] PR #29910: include MCP server and tool metadata in permission requests
- [13] PR #29847: prevent duplicate agent loading when workspace is home directory
- [14] PR #29828: ensure all model turns with function calls receive thought signatures
- [15] PR #29834: preserve extended token usage metadata and align per-turn reporting
- [16] PR #29865: adhere to RFC 9110 token rules when splitting custom headers
- [17] PR #29749: respect read-only files and hard links in atomic writeTextFile
- [18] PR #29883: correct Thai and Lao SARA AM display width
- [19] PR #29905: handle terminals that render ambiguous-width characters as wide
This analysis is based on publicly available open-source code and release metadata, conducted for educational and research purposes. All trademarks and software referenced belong to their respective owners.
Previous Gemini CLI analysis: v0.66.0 (October 29, 2026)
All 9 Gemini CLI analyses: Gemini CLI Version Tracker · Official Gemini CLI changelog