[Bug]: Antigravity 1.5.0+ fails text generation with 'Antigravity wrote files during text generation'

Open Beginner friendly
#36,169 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
66/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
backend

Research direction

Start in apps/server/src/provider/acp/AntigravityAcpSupport.ts at antigravityWritesRunWorkflowSkill, whose upper version bound excludes 1.5.0. Then check how sessionMeta's disabledTools is set for the text-generation session in AntigravityTextGeneration.runJson, and what hasOnlyRuntimeDirectories(cwd) accepts after the run. Done when text generation succeeds on Antigravity 1.5.0 without the wrote-files error, with the version range or disabledTools handling covering that release.

Written by the indexing model from the issue text.

Description

Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

apps/server

Steps to reproduce
  1. Use or update the managed or external Antigravity ACP runtime to version 1.5.0 (or newer).
  2. In Settings → Models → Text Generation, select Antigravity (e.g. gemini-3.8-flash).
  3. Start a new thread, or trigger thread title regeneration, commit message generation, or PR content generation.
  4. The title never generates and stays on the default.
Expected behavior

Text generation succeeds and returns the generated title or commit message without tripping the workspace hygiene guard.

Actual behavior

TextGeneration fails with:

TextGenerationError: Text generation failed in generateThreadTitle: Antigravity wrote files during text generation.

Impact

Major degradation or frequent failure

Version or commit

0.1.10-nightly.20261113.4630 (code path unchanged on main)

Environment

Linux x86_64, Antigravity ACP 1.5.0

Logs or stack traces
{"type":"effect-span","name":"TextGeneration.generateThreadTitle","exit":{"_tag":"Failure","cause":"TextGenerationError: Text generation failed in generateThreadTitle: Antigravity wrote files during text generation.\n    at AntigravityTextGeneration.runJson\n    at AntigravityTextGeneration.generateThreadTitle\n    at TextGeneration.generate\n    at TextGeneration.generateThreadTitle"}}
Root cause and suggested fix

In apps/server/src/provider/acp/AntigravityAcpSupport.ts:

function antigravityWritesRunWorkflowSkill(version: string | null | undefined): boolean {
  const parsed = parseAntigravityVersion(version);
  return (
    parsed !== undefined &&
    compareVersions(parsed, [1, 4, 2]) >= 0 &&
    compareVersions(parsed, [1, 4, 5]) <= 0
  );
}

The upper bound compareVersions(parsed, [1, 4, 5]) <= 0 assumes later releases stop creating skills/system/run-workflow/SKILL.md. Antigravity 1.5.0 still writes that file at startup unless run_workflow is disabled, so 1.5.0 no longer receives disabledTools: ["run_workflow"] in sessionMeta.

AntigravityTextGeneration.runJson runs in a scoped temp dir (t3-antigravity-text-*). The post-run guard hasOnlyRuntimeDirectories(cwd) only accepts .agents, .agents/skills, .gemini, and .gemini/skills, so the new skills/ directory is treated as a model write and the request is rejected.

Either drop the upper bound:

function antigravityWritesRunWorkflowSkill(version: string | null | undefined): boolean {
  const parsed = parseAntigravityVersion(version);
  return parsed !== undefined && compareVersions(parsed, [1, 4, 2]) >= 0;
}

or have the text-generation helper session always pass disabledTools: ["run_workflow"] regardless of version.

Related: #29876 (same guard, different cause: empty runtime skill directories on 1.4.1, fixed by #27191).

Workaround

Pin Antigravity ACP back to 1.4.5, or set the text generation model to another provider.

Dominant language
TypeScript
Stars
24.8k
Forks
6.4k
Avg merge
3h 40m
Merged PRs (30d)
543

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from pingdotgg/t3code

All issues in pingdotgg/t3code

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.