ANTIGRAVITY LABJP
Articles/AI Tools
AI Tools/2026-09-11Beginner

Starting with AGY_CLI_HIDE_LOGO: tuning Antigravity CLI for narrow terminals, screen readers, and recordings

Logo art, your email address, output that swallows the pane, a copy you never asked for. Here are the Antigravity CLI environment variables and settings that quiet the display, grouped by the three situations where they matter.

Antigravity CLI31terminal6accessibility3environment variablesscreen recording

A client I build and maintain a site for asked me to record the operational steps as a short screen capture. Open a terminal, start agy, walk through the flow. That was supposed to be the whole job.

When I played the recording back, a large block of logo art was sitting across the top, and next to it were my email address and my plan tier. Neither of those is anything the person on the other end needs.

For a while I kept adjusting the terminal instead. Widen the window, raise the font size, scroll until the logo is off screen, then start recording. I redid that take three times, and it did not work out well. The next day I recorded a different procedure and had to redo every one of those adjustments from scratch.

Rather than working around the capture, decide the shape of the output first. That is the switch I made, and now a handful of lines live in my shell config. Antigravity CLI ships with a surprising number of knobs for quieting the display — the logo, the account header, output height, even copy behavior — and the same small set covers narrow terminals, screen readers, and recordings alike.

Here is how I group them.

Drop the logo and the account header at startup

Setting AGY_CLI_HIDE_LOGO suppresses the logo art in the startup banner. The version and account details stay, so you can still tell later which build a recording was made on. It exists specifically for narrow terminals, screen readers, and recordings.

The account header is a separate variable. AGY_CLI_HIDE_ACCOUNT_INFO hides your email address and plan tier from the header. It has been there since 1.0.2, and I spent far too long redoing takes without knowing it existed.

VariableWhat it doesAdded in
AGY_CLI_HIDE_LOGOSuppresses the startup logo art (version and account details remain)1.1.19 series
AGY_CLI_HIDE_ACCOUNT_INFOHides email address and plan tier from the header1.0.2

The two solve slightly different problems. The logo costs you width and height, so it goes for narrow panes. The account header is about not shipping personal details inside material you hand to someone else. For a recording I set both.

I don't leave them on permanently. The logo doubles as a signal that I restarted the session, so I keep it during normal work and only route through a wrapper when I'm handing something over.

# ~/.zshrc or similar. Wrapping each use case in a function keeps switching to one word.
agy-record() {
  AGY_CLI_HIDE_LOGO=1 \
  AGY_CLI_HIDE_ACCOUNT_INFO=1 \
  agy "$@"
}

The reason these live inside a function rather than a permanent export is that I want the version and account line visible when I need to describe my situation to support. They only need to disappear at the moment of handoff.

The logo isn't the only thing that overflows a narrow pane

I work with the screen split left and right, which leaves the terminal pane fairly cramped. When something like npm run build returns, the conversation above it scrolls away in a single burst.

AGY_CLI_CMD_OUTPUT_PERCENTAGE, added in 1.0.11, caps the height of command output in the TUI as a percentage of the terminal height. Set it to 40 and no amount of output takes more than four tenths of the pane, which means the exchange just above it stays on screen.

Math rendering can go too. AGY_CLI_DISABLE_LATEX turns LaTeX rendering off globally and has been available since 1.0.4. If your work never involves formulas, you lose nothing and you cut one source of layout surprises.

The settings panel itself improved as well. As of 1.1.5, /settings (/config) is a bounded, scrollable list that renders correctly in short terminals instead of overflowing, and the flicker when opening and closing dropdowns is gone in the same release.

Variable or settingWhat it containsAdded in
AGY_CLI_CMD_OUTPUT_PERCENTAGECaps command output height as a percentage of the terminal1.0.11
AGY_CLI_DISABLE_LATEXDisables LaTeX math rendering globally1.0.4
/settings panelOverflow and flicker in short terminals (fixed automatically)1.1.5

What I appreciate about a percentage rather than a fixed row count is that it keeps working when I resize. A row-count setting would need revisiting every time I rearranged the split.

When what you see and what you paste don't match

I read back the logs of unattended runs the following morning — the job that sorts material for my wallpaper app, among others. When the characters on screen and the characters in the clipboard disagree, every verification step after that becomes a detour.

Version 1.1.3 brought copy-on-select to no-flickering mode: drag to select, release the mouse, and the ANSI-stripped selection goes to the clipboard. The same release hides the virtual scrollbar so it stops interfering when you copy multi-line output.

Then 1.1.8 added a copyOnSelect setting, on by default and toggleable from /settings. In the TUI's altscreen rendering mode, releasing a mouse selection auto-copies it to the system clipboard.

Handy most of the time, but there are moments when the automatic copy is unwanted, and payloads it can corrupt. I spent a while assuming the slightly-wrong pastes were my own clumsy hands. Once I understood the setting was responsible, I reordered what I check: when the visible text and the captured text disagree, look at the rendering mode before you look at yourself.

Links belong in the same bucket. Version 1.0.12 added dynamic OSC8 terminal hyperlinks with automatic fallback stripping for terminals that can't handle them. In 1.1.12 links became clickable over SSH and in hyperlink-capable tmux, word-wrapped URLs stay clickable past their first line, and horizontal scrolling and text selection on lines containing a link were fixed.

When a terminal claims it can draw and then can't

The hardest case is a terminal that misreports its own capabilities.

A fix in 1.1.6 illustrates the shape of it. Cycling the artifact viewer into image mode on terminals that are detected as Kitty-graphics capable but can't actually render it — iTerm2 is named as an example — dumped garbage escape bytes straight into the session. The same release fixed the first keystroke, such as Esc, being dropped when you opened the first artifact view on some non-Kitty terminals.

Version 1.1.13 fixed a distorted startup banner in Cloud Shell, where the web terminal mishandles the cursor-optimization escape sequences the renderer emits. A conservative rendering mode now switches on automatically there.

AGY_CLI_DISABLE_ESCAPE_SEQUENCE_OPTIMIZATIONS is how you reach for that conservative behavior by hand. It bypasses the renderer's differential-update optimizations, and it's worth remembering as an escape hatch for terminals the automatic detection doesn't cover, or when your capture software garbles what it records.

One note on version numbers. Antigravity has two lines — the IDE on 2.x and the CLI on 1.x — and every version in this piece is the CLI. When you check on your own machine, reconcile against the CLI tab of the official Antigravity changelog. Secondhand roundups drift on version numbers more often than you'd expect.

A non-TTY note as well. In 1.0.15, a Windows bug was fixed where print mode and other non-TUI command output was silently discarded in non-TTY environments such as pipes and subprocesses. Suspecting your own script first when output comes back empty is a reasonable instinct, but the version itself was the reason. I wrote about losing results on the calling side in the Antigravity CLI failure my own wrapper pipe was swallowing.

One set per situation

I keep three named sets, because typing the variables from memory is the first thing to fall away on a busy day.

SituationVariables to setWhy
Daily work in a narrow paneAGY_CLI_CMD_OUTPUT_PERCENTAGE=40Long output stops scrolling away the exchange above it
Screen readerAGY_CLI_HIDE_LOGO + AGY_CLI_DISABLE_LATEXFewer decorations that don't read aloud well
Recording or screen sharingAGY_CLI_HIDE_LOGO + AGY_CLI_HIDE_ACCOUNT_INFOKeeps personal details and padding out of the material
Terminals that render badlyAGY_CLI_DISABLE_ESCAPE_SEQUENCE_OPTIMIZATIONSSkips differential-update optimizations and draws plainly
# One profile per use case (~/.zshrc or similar)
agy-record() {   # recordings and screen shares you hand to someone
  AGY_CLI_HIDE_LOGO=1 AGY_CLI_HIDE_ACCOUNT_INFO=1 \
  AGY_CLI_CMD_OUTPUT_PERCENTAGE=40 agy "$@"
}
 
agy-a11y() {     # screen reader sessions
  AGY_CLI_HIDE_LOGO=1 AGY_CLI_DISABLE_LATEX=1 \
  AGY_CLI_DISABLE_ESCAPE_SEQUENCE_OPTIMIZATIONS=1 agy "$@"
}
 
# Everyday work stays on plain agy; the logo marks that I restarted the session

With the profiles separated, switching is a matter of typing a different name. The third line — leaving one path completely untouched — has mattered more than I expected. Quiet everything and I lose track of which state I'm actually working in.

If you want the other side of this, building the display up rather than paring it down, I wrote about the three places I got stuck putting session cost into the status line in what tripped me up building a cost-aware status line.

For today, add the single AGY_CLI_HIDE_ACCOUNT_INFO line to your shell config and look at what's left in the header of the next recording you hand over. That alone saves you one retake.

Terminal presentation is easy to keep postponing, right up to the moment you pass something to another person. Thanks for reading.

Share

Thank You for Reading

Antigravity Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $15 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

AI Tools2026-07-26
Routing /effort by Task Class in Antigravity CLI: Six Weeks of Measurements
I built a small router that picks an /effort level from the shape of the task, then aggregated six weeks of run logs. Here is where raising effort helped, where it actively hurt, and what mattered more than effort.
AI Tools2026-07-01
Measure Before You Trim: A Context Ledger for Antigravity CLI Token and Latency Costs
Prompted by the ~70% token reduction reported for the Android CLI agent, I built a thin wrapper and a weekly review to measure my own agent runs. Here is how I replaced whole-file context with line ranges and cut wait times.
AI Tools2026-08-28
Three things I had to fix before my status line could tell me what a session cost
Getting real session cost into a custom Antigravity CLI status line took three fixes: how the script reads stdin, how to tell whether your build sends a cost field, and how to keep a usage ledger that does not double-count.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links