[Bug]: Antigravity 1.5.0+ fails text generation with 'Antigravity wrote files during text generation'
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
- Use or update the managed or external Antigravity ACP runtime to version 1.5.0 (or newer).
- In Settings → Models → Text Generation, select Antigravity (e.g. gemini-3.8-flash).
- Start a new thread, or trigger thread title regeneration, commit message generation, or PR content generation.
- 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
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pingdotgg/t3code
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Hide the code block header label when a fence has no languagePossibly taken @ashx-j claimed this 1 day ago. Openvia-triage
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
[Bug]: MCP App inline frames never go below 80px, so compact apps get blank space under themPossibly taken @rafi-the-dev claimed this today. Open
Difficulty 2/5 Half a day Newbie friendliness 68/100
Maintainers usually reply within 1 day
All issues in pingdotgg/t3code
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
open-webui/tether#52 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
voidzero-dev/void#835 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
AykutSarac/jsoncrack.com#616 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
melgarafael/DeskcommCRM#4679 ·
Maintainers usually reply within 1 day
-
enhancement size:medium
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day