{
  "schemaVersion": 1,
  "methodology": "https://ionbin.com/interfaces/methodology/#evaluations",
  "evaluation": {
    "id": "antigravity-cli",
    "testedOn": "2026-10-18",
    "coverage": "local-runtime",
    "summary": "The native CLI stored and listed a synthetic HTTP MCP definition without signing in. Gemini-provider startup correctly stopped when its API key was missing. Agent execution was not tested.",
    "identity": {
      "version": "1.4.2",
      "target": "Official Google Antigravity CLI Windows x64 binary",
      "integrity": "SHA-256 4f6c7a807f3fae54bc61e74b8469ac79d07702ade5c62de62041bba44e2a7be0 of the official downloaded agy.exe artifact. SHA-512 matched the official release manifest; Windows Authenticode returned Valid for Google LLC."
    },
    "environment": [
      "Windows 11 x64; Python 3.12.10 harness. Raw timestamps UTC.",
      "Fresh per-tool home/config/cache; child environment constructed from OS/runtime paths, explicit isolation variables and no inherited credentials. Synthetic fixtures only; no user account sign-in."
    ],
    "checks": [
      {
        "id": "antigravity-cli-version",
        "name": "Downloaded version",
        "method": "<evaluation>\\downloads\\cli\\agy.exe --version",
        "expected": "Print the pinned binary version.",
        "observed": "Exit 0. 1.4.2",
        "outcome": "pass"
      },
      {
        "id": "antigravity-cli-provider-no-key",
        "name": "Gemini provider without API key",
        "method": "Set HOME and USERPROFILE to the empty per-tool fixture home. Write <fixture-home>/.gemini/antigravity-cli/settings.json containing {\"modelProvider\":\"gemini\"}; omit GEMINI_API_KEY from the child environment. Command: <evaluation>\\downloads\\cli\\agy.exe --print fixture --print-timeout 5s",
        "expected": "Stop before sign-in/model execution when modelProvider=gemini and GEMINI_API_KEY is absent.",
        "observed": "Exit 1. modelProvider is set to \"gemini\" in settings.json, but the GEMINI_API_KEY environment variable is not set. Set GEMINI_API_KEY to your Gemini API key, or remove \"modelProvider\" from settings.json to use the default backend.",
        "outcome": "pass"
      },
      {
        "id": "antigravity-cli-mcp-add",
        "name": "Store synthetic HTTP MCP definition",
        "method": "<evaluation>\\downloads\\cli\\agy.exe mcp add --type http ionbin-fixture http://127.0.0.1:1/mcp",
        "expected": "Write a localhost-only definition in the isolated configuration.",
        "observed": "Exit 0. Added MCP server \"ionbin-fixture\" (http)",
        "outcome": "pass"
      },
      {
        "id": "antigravity-cli-mcp-list",
        "name": "Read synthetic MCP definition",
        "method": "<evaluation>\\downloads\\cli\\agy.exe mcp list",
        "expected": "List the stored URL and enabled state.",
        "observed": "Exit 0. NAME            TYPE  STATUS   COMMAND/URL\nionbin-fixture  http  enabled  http://127.0.0.1:1/mcp",
        "outcome": "pass"
      },
      {
        "id": "antigravity-cli-flag-order",
        "name": "Reject trailing HTTP-server arguments",
        "method": "<evaluation>\\downloads\\cli\\agy.exe mcp add ionbin-invalid http://127.0.0.1:1/mcp --type http",
        "expected": "Reject unsupported command arguments on an HTTP MCP definition.",
        "observed": "Exit 1. Error: http server type does not accept command arguments",
        "outcome": "pass"
      }
    ],
    "findings": [
      {
        "title": "MCP registration does not establish a working connection",
        "basis": "observed",
        "severity": "informational",
        "detail": "The CLI listed the synthetic http://127.0.0.1:1/mcp server as enabled although no server listened there. The result is configuration state only.",
        "practicalAdvice": "Test server connectivity and permission scope separately; do not interpret enabled as verified."
      },
      {
        "title": "Provider selection changes credential handling",
        "basis": "observed",
        "severity": "informational",
        "detail": "With modelProvider set to gemini in the isolated settings file, a print invocation exited 1 because GEMINI_API_KEY was absent. No account-based sign-in or model request was performed.",
        "practicalAdvice": "Choose the intended provider explicitly and keep its credentials out of shared settings and logs."
      }
    ],
    "caveats": [
      "The official installer was inspected, then the verified binary was downloaded directly; PATH/profile setup and automatic updates were not tested.",
      "The normal account path can use the operating-system keyring; this test intentionally selected the key-based provider with no key."
    ],
    "notTested": [
      "Authenticated model behavior, workspace trust prompts, terminal sandbox enforcement and permission approvals.",
      "MCP connection/tool execution, prompt injection resistance, keyring storage and background updates."
    ],
    "sources": [
      {
        "label": "Official documentation",
        "url": "https://antigravity.google/docs/cli/reference/"
      },
      {
        "label": "Installation and authentication",
        "url": "https://antigravity.google/docs/cli/install/"
      }
    ],
    "reportUrl": "/interface-evaluations/antigravity-cli.json"
  }
}
