Tab titles report progress in real time without switching back to the terminal
When minimizing a terminal to run a long-running task in the background, we often have to switch windows repeatedly just to check if it is finished.
As long as your terminal supports the OSC 7501 protocol, window or tab titles will directly display whether the CLI is working, waiting for input, completed, or failed. The CLI automatically detects terminal support on startup, so unsupported software remains completely unaffected. If you want to tweak how details are shown, you can manage it with environment variables:
AGY_CLI_OSC7501=off # Disable status reporting
AGY_CLI_OSC7501=on # Force enable on terminals that support it but do not actively respond to detection
AGY_CLI_OSC7501_MESSAGES=brief # Show only the status, omitting pending commands or prompt details
FEATURE
Shortcut inverts send mode to bypass queues or jump ahead without changing settings
When typing a message and preparing to send it, finding that the current mode opposes what you need previously required a tedious trip through the settings menu.
The new alt+m shortcut inverts sending behavior based on the Queued Messages mode configured in /config. On macOS, if the Option key is mapped to Alt, the corresponding combination is Option+m. If you are normally in Queue mode, pressing this shortcut sends the current message immediately. Conversely, if you are normally in Send Immediately mode, this key combination saves your message into the scheduled queue.
FEATURE
Plugin validation rules align with runtime, making line numbers and format errors clear
When developing plugins, nothing is worse than a validation tool reporting success only for hidden problems to block execution at runtime.
The validation command agy plugin validate now checks plugins using the exact same rules as the runtime environment. In the past, simplified checks falsely blocked valid manifests missing a name field while overlooking real issues that prevented plugins from loading. The validation tool now pinpoints the exact file and line number for every error and warning, accepting either plugin directories or individual plugin.json files. It also flags common plugin.json mistakes, such as unknown fields with suggested fixes, invalid names, or components mistakenly placed in .antigravity-plugin/ instead of the root directory. Additionally, you can pair it with --strict to treat warnings as failures, or use --json to output reports in automated builds.
BUGFIX
Startup eligibility checks retry on transient errors without locking the session
When the network drops intermittently or startup runs into rate limits, having the entire terminal freeze and reject input is disorienting. Previously, if the service became briefly unreachable or hit a rate limit at launch, the terminal repeatedly threw Eligibility check failed errors and rejected every message, leaving you no choice but to restart the application. This eligibility check now automatically retries on transient errors instead of locking up the entire session. This issue has been fixed, allowing you to resume your conversation as soon as connectivity recovers.
BUGFIX
Plugin MCP headers support variable substitution, preventing token authentication from sending literal placeholders
When connecting a plugin to a custom service that requires authentication, nothing is worse than having configured secret variables fail to substitute properly. If an MCP (a protocol connecting AI to external tools) server in a plugin used variables in request headers, such as "Authorization": "Bearer ${TOKEN}", it previously sent the raw placeholder directly and failed authentication. Headers now properly substitute your configured values just like server commands, arguments, and environment variables, fixing the authentication failure.
BUGFIX
Diff view fills terminal height and supports browsing up to a hundred commits
When reviewing recent project revisions, browsing commit history inside a terminal is often constrained by viewport limits and navigation friction. In the /diff commit tree view, the header previously only counted lines and capped visibility at the 10 most recent commits. The view now expands to fill the full terminal height and supports scrolling through the 100 most recent commits. The top header now correctly displays the commit count, the cursor only stops on commit rows, and pressing Enter directly opens the selected entry.
BUGFIX
Background command state no longer rolls back, keeping work progress and logs intact
When having the AI assistant run time-consuming commands in the background while you continue editing code in the foreground, progress on both sides is no longer mysteriously lost.
Previously, once a background command finished, if the assistant was still actively working, your recent file edits, task lists, and session spend were entirely lost, even rolling back to the state when that command first started. This state regression issue is now fixed, cleanly preserving all foreground progress when background tasks complete.
Task logs for background commands also previously missed the last few lines of output at times. Whether a command finishes normally or is canceled midway through, the final output is now fully written into the log.
BUGFIX
Folder links in responses reappear, leaving no blank gaps
When reading an AI assistant response that recommends a project directory, having the path text vanish entirely is confusing. Previously, if the assistant response contained a link pointing to a folder, the link text occasionally disappeared from the screen, leaving broken sentences with missing words. This issue is now fixed, and responses display folder names normally, such as pipelines/, allowing you to see path locations at a glance.
Original changelog
Original changelogTab titles report progress in real time without switching back to the terminal
Added terminal status reporting over OSC 7501: in terminals that support it, the tab or window shows whether the CLI is working, waiting for your input, done, or failed. The CLI checks for support first, so other terminals are unaffected. Set `AGY_CLI_OSC7501=off` to turn it off, `AGY_CLI_OSC7501=on` for a terminal that supports it but doesn't answer the check, or `AGY_CLI_OSC7501_MESSAGES=brief` to show only the status without details such as the pending command or question.
Original changelogShortcut inverts send mode to bypass queues or jump ahead without changing settings
Added the `alt+m` shortcut (`Option+m` on macOS when Option is set to act as Alt) to send a message using the opposite of your `Queued Messages` setting in `/config`, so you can send right away while in `Queue` mode, or queue a message while in `Send Immediately` mode.
Original changelogPlugin validation rules align with runtime, making line numbers and format errors clear
Improved `agy plugin validate` so it checks a plugin with the same rules the CLI uses to load it, instead of simplified checks that rejected valid plugins (such as a manifest without a `name`) and missed problems that kept a plugin from loading. It lists each error and warning with its file and line, accepts a plugin directory or its `plugin.json`, warns about common `plugin.json` mistakes such as unknown fields (with "did you mean" suggestions), invalid names, and components placed inside `.antigravity-plugin/` instead of the plugin root, and adds `--strict` to fail on warnings and `--json` for a machine-readable report in CI.
Original changelogStartup eligibility checks retry on transient errors without locking the session
Fixed the CLI refusing every message with `Eligibility check failed` until you restarted it when the service was briefly unavailable or rate-limited at launch; the check now retries temporary errors and no longer locks the session.
Original changelogPlugin MCP headers support variable substitution, preventing token authentication from sending literal placeholders
Fixed plugin MCP servers that use a variable in a request header, such as `"Authorization": "Bearer ${TOKEN}"`, sending the literal placeholder and failing to authenticate; headers now get the value you configured, like the server's command, arguments, and environment already did.
Original changelogDiff view fills terminal height and supports browsing up to a hundred commits
Fixed the `/diff` Commit Tree view: the header now counts commits instead of lines, the cursor stops only on commit rows and `Enter` opens that commit, the view fills the terminal height, and it shows the latest 100 commits (previously 10) with scrolling.
Original changelogBackground command state no longer rolls back, keeping work progress and logs intact
Fixed the agent losing track of its file changes, tasks, and session cost when a background command finished while the agent kept working; they no longer roll back to the point where that command started.
Fixed a background command's final output sometimes missing from its task log; the output is now always recorded when the command finishes or is canceled.
Original changelogFolder links in responses reappear, leaving no blank gaps
Fixed links to directories disappearing from agent responses; they now show the directory name, for example `pipelines/`.