Hi @Ivan_Valenzuela,
Welcome to the Forum,
Here are the answers to your questions:
Is invoking the unmodified agy.exe binary in headless mode from a local assistant permitted on an individual account?
Yes. Section 6 of the Antigravity Additional Terms of Service (and our FAQ regarding third-party tools) prohibits extracting, proxying, or reusing Antigravity OAuth credentials inside third-party harnesses to call Antigravity’s backend endpoints directly.
Spawning the official, unmodified agy (agy.exe) binary locally as a single-user child process on your own machine using its documented headless flags is a supported use of the CLI, provided that:
- You do not extract, read, or forward Antigravity’s cached OAuth tokens to external tools.
- All requests execute through the unmodified
agy binary under your own local agy login session.
- The setup is used strictly by you as an individual user on your local machine (not exposed as a shared server, multi-user relay, or unattended high-frequency polling loop).
(Tip: If you also integrate with editors or orchestrators that support the Agent Client Protocol (ACP), Google provides an official antigravity-acp (agy_acp_server) adapter in the ACP Registry, which supports personal Google accounts via oauth-personal.)
Does it consume the same quota as interactive agy use?
Yes. Headless executions use the same backend session and draw from the exact same Google AI account quota, credit pool, and rate limits (Free, Google AI Pro or Google AI Ultra) as interactive agy CLI or Antigravity IDE sessions.
Technical tips for your Windows stdin / stdout subprocess setup:
Passing the prompt via stdin vs. -p: When -p / --print is passed on the command line, agy expects the prompt as the flag’s string argument and intentionally ignores stdin (so -p never hangs on open subprocess pipes).
-
To pipe the prompt via stdin (and close stdin / send EOF), omit -p:
agy.exe --output-format json
-
To pass the prompt as a flag argument:
agy.exe -p "Your prompt here" --output-format json
-
To stream multiple turns over stdin and stdout as NDJSON:
agy.exe --input-format stream-json --output-format stream-json
Reusing conversation context & conserving quota: Each fresh headless invocation initializes a full agent session (system instructions, workspace rules/skills, and tool schemas). To avoid rapidly consuming your quota window or hitting rate limits, avoid high-frequency polling loops and reuse existing sessions across follow-up turns with -c / --continue or --conversation <conversation_id> (returned in the JSON response envelope).