Release notes

FEATURE

Manage MCP servers with subcommands

When you connect AI to outside tools, MCP (a protocol for connecting AI to external tools) server settings no longer require hand-editing mcp_config.json. Use mcp add, mcp remove, mcp list, mcp enable, and mcp disable for user-level servers; --type, --env, and --header cover stdio and HTTP.

FEATURE

`/mcp` retains configuration fields when toggling servers

When you toggle a server in the /mcp panel, it previously could drop enabledTools, timeoutSeconds, url, and tools.eager from mcp_config.json. The panel now retains them during an edit and also keeps fields written by a newer client that it does not recognize.

Settings written by a newer client therefore survive a toggle in the panel.

FEATURE

File search is faster in large workspaces and respects ignore rules

In a large project, typing @ to find a file no longer means watching results struggle to catch up. Lookup now uses bundled ripgrep and waits for your keystrokes to pause; an exact filename ranks above a directory or generated artifact that merely contains the query.

Files listed in .antigravityignore also stop appearing in @ path completion.

FEATURE

Gemini API keys can tune reasoning effort, without cramped picker text

After signing in with a Gemini API key, Gemini 3.6 Flash and Gemini 3.7 Flash can finally have their reasoning effort adjusted with /effort—how much thought a model uses before answering. That sign-in route had wrongly called them unadjustable while other routes allowed it. In narrow terminals, the reasoning-effort description beneath the timeline gauge in /effort and /model is now omitted when it would overflow, keeping the gauge readable.

BUGFIX

Unsupported OSC 8 terminals no longer print raw link controls

If your terminal lacks OSC 8 hyperlinks, such as Terminal.app, control sequences no longer print as literal text. Such terminals originally could not interpret control sequences and displayed them literally; the program now checks support first to avoid sending them. Detection now also covers command output and alert bodies, which had still emitted hyperlinks regardless of support.

All three places now check whether OSC 8 can be handled first.

BUGFIX

Unsupported Kitty keyboard protocol no longer adds equals signs to prompts

On a terminal without the Kitty keyboard protocol—the way a terminal interprets keyboard input—the prompt no longer gains a = every couple of seconds. The renderer, the part that draws the display, periodically re-armed the protocol, but the terminal printed that control signal as text instead of interpreting it.

Re-arming no longer leaves equals signs on unsupported terminals.

BUGFIX

Artifact names with spaces now match in list, preview, and header

When an artifact name contains a space, its list row, inline preview, and detail header now spell it the same way. It could previously appear as quarterly%20plan.md, replacing the space with a percent-escape and making it look like another file.

Moving from list to preview or detail no longer makes you wonder whether it is the same artifact.

BUGFIX

Prompt cursor stays aligned after text wraps

After long text wraps in the prompt editor, the cursor now stays in the right place. The editor had miscalculated positions after a wrap, so the cursor could point at one spot while inserted text landed elsewhere.

When you move, add, or delete text in a long prompt, the visible position matches the edit position.

BUGFIX

MCP can now keep PDFs, audio, and other binary resources

When an MCP server returns a PDF, audio file, or other non-image binary content, read_resource no longer silently drops it. Every blob is now offloaded to disk, while only small text and image resources are inlined in the response.

Large PDFs, audio, and other binary resources remain usable instead of disappearing during reading.

BUGFIX

Workforce Identity Federation sign-in stops expiring unexpectedly

With Workforce Identity Federation sign-in, refreshing a token—the credential that keeps a login valid—no longer sends you out through the wrong endpoint. The refresh had gone to the standard sign-in endpoint instead of the federated one, repeatedly invalidating the session roughly every hour.

Token refresh remains in the correct federated sign-in flow.

BUGFIX

Built-in skills are now labelled and grouped correctly

In /skills, skills shipped with the CLI are now correctly identified as built in. They had been reported as not built in, making the builtin flag in --output-format json wrong and placing them in the wrong /skills panel group.

JSON output for other tools and the panel view now agree.

BUGFIX

Custom and SDK agents can use /btw, with real failure messages

When a small side question occurs to you mid-conversation, /btw no longer fails with a planner configuration error because you are using a custom or SDK-defined agent—an AI setup that performs a particular task for you. Side questions work with whichever agent is running. If one fails, the card no longer blindly says model returned an empty response; when there is its own error, that error is shown.

BUGFIX

Finished background tasks no longer linger as active

After a background task finishes, the status line, active-items list, and /tasks panel no longer keep calling it active. A task could already be done while all three views failed to remove it, making you think you still had to wait.

These views show tasks that are still running in the background.

BUGFIX

An unreadable settings.json is no longer overwritten with defaults

If settings.json cannot be parsed because its format is broken, the CLI now refuses to save without overwriting it with default settings. Previously, saving anything later could silently revert every existing setting. On a refused save, the file remains byte-for-byte identical and the status line names it.

BUGFIX

An inherit subagent starts even when its parent has no model

When a subagent leaves model as inherit, it now starts even if its parent has no model of its own. The old behavior failed because there was nothing to inherit. It now falls back to the default fast tier.

inherit still prefers the parent model, falling back only when that model is absent.

Original changelog

Original changelogManage MCP servers with subcommands
Added `mcp` subcommands (`add`, `remove`, `list`, `enable`, `disable`) for managing MCP servers in your user-level `mcp_config.json` without hand-editing it, covering both stdio and HTTP servers through `--type`, `--env` and `--header`.
Fixed the `/mcp` panel dropping `enabledTools`, `timeoutSeconds`, `url` and `tools.eager` from `mcp_config.json` when you toggled a server on or off; it now preserves any field it does not recognize, so configuration written by a newer client survives an edit.
Original changelog`/mcp` retains configuration fields when toggling servers
Added `mcp` subcommands (`add`, `remove`, `list`, `enable`, `disable`) for managing MCP servers in your user-level `mcp_config.json` without hand-editing it, covering both stdio and HTTP servers through `--type`, `--env` and `--header`.
Fixed the `/mcp` panel dropping `enabledTools`, `timeoutSeconds`, `url` and `tools.eager` from `mcp_config.json` when you toggled a server on or off; it now preserves any field it does not recognize, so configuration written by a newer client survives an edit.
Original changelogFile search is faster in large workspaces and respects ignore rules
Improved `@` file path completion in large workspaces by running the lookup through the bundled `ripgrep` and debouncing keystrokes, and by ranking a file whose name matches your query above a directory or generated artifact that merely contains it.
Fixed `@` file path completion showing files that were in your `.antigravityignore`.
Original changelogGemini API keys can tune reasoning effort, without cramped picker text
Improved `/effort` so it adjusts reasoning effort for Gemini 3.6 Flash and Gemini 3.7 Flash when you sign in with a Gemini API key, a route that previously reported those models as not adjustable even though the same models were adjustable on every other sign-in path.
Fixed the reasoning-effort description under the timeline gauge in the `/effort` and `/model` pickers overflowing on narrow terminals, where it is now omitted so the gauge stays readable.
Original changelogUnsupported OSC 8 terminals no longer print raw link controls
Fixed links printing as raw escape sequences on terminals that do not implement OSC 8 hyperlinks, such as Terminal.app, and extended the same detection to command output and alert bodies, which still emitted hyperlinks unconditionally.
Original changelogUnsupported Kitty keyboard protocol no longer adds equals signs to prompts
Fixed a `=` character accumulating in the prompt every couple of seconds on terminals that do not implement the Kitty keyboard protocol, where the renderer's periodic re-arming of that protocol was printed as literal text instead of being interpreted.
Original changelogArtifact names with spaces now match in list, preview, and header
Fixed the artifact list showing a percent-escaped filename such as `quarterly%20plan.md` for artifacts whose name contains a space, so the list row, the inline preview and the detail header all spell the name the same way.
Original changelogPrompt cursor stays aligned after text wraps
Fixed the prompt editor's cursor becoming misaligned when text wrapped.
Original changelogMCP can now keep PDFs, audio, and other binary resources
Fixed `read_resource` discarding non-image binary content returned by an MCP server, which now offloads every blob to disk and inlines only small text and image resources, so large PDFs, audio and other binary resources are usable instead of silently dropped.
Original changelogWorkforce Identity Federation sign-in stops expiring unexpectedly
Fixed Workforce Identity Federation sign-in signing you out roughly every hour, because the token refresh went to the standard sign-in endpoint rather than the federated one.
Original changelogBuilt-in skills are now labelled and grouped correctly
Fixed skills that ship with the CLI being reported as not built-in, so the `builtin` flag in the `/skills` listing under `--output-format json` is accurate and the `/skills` panel groups them correctly.
Original changelogCustom and SDK agents can use /btw, with real failure messages
Fixed `/btw` failing with a planner configuration error in conversations driven by a custom or SDK-defined agent, so side questions work regardless of which agent you are running.
Fixed a failed `/btw` side question always reporting `model returned an empty response`, which was a hardcoded guess rather than the real failure; the card now shows the side question's own error when there is one.
Original changelogFinished background tasks no longer linger as active
Fixed the status line, the active-items list and the `/tasks` panel continuing to show background tasks that had already finished.
Original changelogAn unreadable settings.json is no longer overwritten with defaults
Fixed the CLI overwriting a `settings.json` it could not parse with default settings, which silently reverted every setting the next time anything was saved; a refused save now leaves the file byte-identical so you can repair it by hand, and the status line names the file.
Original changelogAn inherit subagent starts even when its parent has no model
Fixed a subagent whose definition leaves `model` at `inherit` failing to start when the parent agent has no model of its own, which now falls back to the default fast tier.