Skip to content

fix(editors): stop treating the agy CLI as the Antigravity IDE - #7079

Merged
Yash-Singh1 merged 1 commit into
pingdotgg:mainfrom
ishaanko:fix/mac-open-in-editor-detection
Sep 26, 2026
Merged

Yash-Singh1 merged 1 commit into
pingdotgg:mainfrom
ishaanko:fix/mac-open-in-editor-detection

Conversation

@ishaanko

@ishaanko ishaanko commented Aug 15, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Open In lists Antigravity on machines that only have the Antigravity CLI. The editor list matched agy, which the IDE owned when #841 added it. Google has since split the products:

Product macOS bundle CLI
Antigravity (Hub) Antigravity.app none
Antigravity CLI none agy
Antigravity IDE Antigravity IDE.app antigravity-ide, agy-ide

The CLI installer puts agy in ~/.local/bin on macOS and Linux. Since #12439, install-folder discovery also searches ~/.local/bin on Linux, so the CLI is found there even when it is not on PATH.

The Zed half of #5078 was fixed on main by #12439.

Fix

  • Antigravity matches antigravity-ide and agy-ide. antigravity-ide comes first because fix: detect installed editors outside PATH #12439 builds the bundle path from the first command.
  • The macOS bundle lookup uses Antigravity IDE.app instead of the Antigravity.app Hub.

On Linux, the IDE install script and packages expose antigravity-ide, which the existing folder search already covers. On Windows, PATH detection works as before. I could not confirm the IDE's Windows install folder name, so a Windows IDE install that is not on PATH may still go undetected.

Verification

vp test run apps/server/src/process/externalLauncher.test.ts   # 41 passed, 1 skipped
vp run --filter @t3tools/contracts --filter @t3tools/shared --filter t3 typecheck
vp lint on the three touched files

Five new cases, all failing on main before the fix:

  • The agy CLI does not list Antigravity: on PATH on macOS, in ~/.local/bin off PATH on Linux, and as agy.cmd on PATH on Windows.
  • Antigravity IDE.app with no PATH shim is found and launched with --goto on macOS.
  • ~/.local/bin/antigravity-ide is found and launched on Linux.

UI changes

Both screenshots come from a Mac with agy on PATH and without the Antigravity IDE. The Zed entry in the second screenshot now comes from #12439.

Before, the Open in button defaults to Antigravity:

before: menu shows Antigravity and Finder

After, Antigravity is gone:

after: menu shows Zed and Finder

Fixes #5078

Implemented with Claude Opus 5.5 via Claude Code.

Summary by CodeRabbit

  • Bug Fixes
    • Antigravity IDE is now recognized and launched using its IDE-specific commands, with file-position navigation supported.
    • The standalone agy CLI is no longer mistaken for the Antigravity IDE on macOS, Linux, or Windows.

@coderabbitai

coderabbitai Bot commented Aug 15, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: pingdotgg/t3code/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 17a73471-94ca-4e13-ab6f-63542896c5ae

📥 Commits

Reviewing files that changed from the base of the PR and between 0dd91d7 and 1c33771.

📒 Files selected for processing (3)
  • apps/server/src/process/externalLauncher.test.ts
  • packages/contracts/src/editor.ts
  • packages/shared/src/editor.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The Antigravity editor configuration now checks antigravity-ide and agy-ide instead of agy, while retaining goto launch behavior. The shared install-name map labels it Antigravity IDE. Tests cover macOS and Linux IDE discovery and launch, and exclusion of standalone agy across platforms.

Changes

Antigravity IDE discovery

Layer / File(s) Summary
Antigravity editor identity
packages/contracts/src/editor.ts, packages/shared/src/editor.ts
The Antigravity command list now uses antigravity-ide followed by agy-ide. The shared install-name mapping labels the editor Antigravity IDE and distinguishes it from Antigravity.app.
Discovery and launch coverage
apps/server/src/process/externalLauncher.test.ts
Tests cover macOS and Linux IDE discovery and --goto launch arguments. Platform-specific tests verify that the standalone agy executable is not discovered as Antigravity.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix · Severity of issue fixed: Low

Suggested reviewers: juliusmarminge

Merge Risk: ⚪ Minimal · up to 1c337

The change separates Antigravity IDE detection from the standalone CLI, with no identified issue requiring resolution before merge.

Security Architecture Review

Security architecture risk: 🔵 Low · up to 1c337

The change directs Antigravity discovery toward IDE executables instead of the standalone CLI. It does not appear to add a new launch path, but permission checks around callers were not established by the available evidence.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The effective change is to the local executable selected for Antigravity discovery and launch. The examined paths show neither a new remote-opening capability nor a new service dependency.

Trust Boundaries and Controls

  • observed — Executable selection still trusts a command found on PATH ahead of install-location candidates. That lookup order is in the existing resolver; the PR changes the Antigravity candidates passed to it, not the lookup order.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 6 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Issue #5078 requires Zed discovery from /Applications/Zed.app or ~/Applications/Zed.app. resolveEditorCommand already checks these macOS app roots and resolves Zed through its bundled `Contents/…
Out of Scope Changes check ✅ Passed The changes remain within editor detection and launch behavior for issue #5078. The Antigravity command correction, macOS app-name mapping, bundled editor resolution already present in the reviewed he…
Title check ✅ Passed The title clearly and concisely describes the primary change: preventing the standalone agy CLI from being detected as the Antigravity IDE.
Description check ✅ Passed The description explains the problem, the fix, verification results, scope, and UI impact. It does not use the template headings exactly and omits the explicit checklist, but it provides the required …
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Aug 15, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5d8e26cfec

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/server/src/process/externalLauncher.ts Outdated
Comment thread apps/server/src/process/externalLauncher.ts Outdated
@macroscopeapp

macroscopeapp Bot commented Aug 15, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This PR changes macOS editor discovery and process launching by adding app-bundle detection and routing Antigravity through open -a, creating direct user-visible runtime impact despite its narrow scope and tests. The supplied unresolved review thread identifies a concrete wrong-process launch scenario, so human verification is warranted.

You can add or adjust custom eligibility rules. Learn more.

Comment thread apps/server/src/process/externalLauncher.ts Outdated
Comment thread apps/server/src/process/externalLauncher.ts Outdated
sheehanmunim added a commit to munimtechnologies/mtcode that referenced this pull request Aug 18, 2026
…undles

Upstream PR pingdotgg#7079 added macAppName bundle discovery but only wired it up
for Zed and Antigravity. Set macAppName on Cursor, Trae, Kiro, VS Code,
VS Code Insiders, VSCodium, and the JetBrains IDEs so the Open picker
lists them when the app is installed without its CLI shim on PATH.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ishaanko
ishaanko force-pushed the fix/mac-open-in-editor-detection branch from b601ec4 to e2c24d8 Compare August 25, 2026 00:21

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit e2c24d8. Configure here.

Comment thread packages/contracts/src/editor.ts
@ishaanko
ishaanko force-pushed the fix/mac-open-in-editor-detection branch from d479020 to 4ba958a Compare September 13, 2026 07:19
@ishaanko ishaanko changed the title fix(server): detect Zed via its app bundle and ignore the standalone agy CLI on macOS fix(editors): detect the Antigravity IDE and bundled Zed instead of the agy CLI Sep 13, 2026
@github-actions github-actions Bot added size:M 30-99 changed lines (additions + deletions). and removed size:L 100-499 changed lines (additions + deletions). labels Sep 13, 2026
`agy` is now the standalone Antigravity CLI, not the IDE, so machines with
only the CLI listed Antigravity in Open In. The CLI installs to ~/.local/bin,
which install-folder discovery also searches on Linux.

Match the IDE's own commands, `antigravity-ide` and `agy-ide`, and look for
the `Antigravity IDE.app` bundle instead of the `Antigravity.app` Hub.

Fixes pingdotgg#5078
@ishaanko
ishaanko force-pushed the fix/mac-open-in-editor-detection branch from 0dd91d7 to 1c33771 Compare September 26, 2026 01:23
@ishaanko ishaanko changed the title fix(editors): detect the Antigravity IDE and bundled Zed instead of the agy CLI fix(editors): stop treating the agy CLI as the Antigravity IDE Sep 26, 2026
@github-actions github-actions Bot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Sep 26, 2026
@Yash-Singh1
Yash-Singh1 merged commit 1e844a3 into pingdotgg:main Sep 26, 2026
20 of 21 checks passed
@ishaanko
ishaanko deleted the fix/mac-open-in-editor-detection branch September 26, 2026 21:34
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 26, 2026
## What's Changed
* feat(observability): write a server heap snapshot on SIGUSR2 by @t3dotgg in pingdotgg/t3code#13694
* perf(server): shutdown no longer rewrites every stopped session row by @t3dotgg in pingdotgg/t3code#13688
* perf(server): build the thread list snapshot without decoding it twice by @t3dotgg in pingdotgg/t3code#13693
* fix(client): slow servers finish loading the thread list instead of loading it twice by @t3dotgg in pingdotgg/t3code#13683
* perf(web): hidden terminal drawers no longer keep full thread history in memory by @t3dotgg in pingdotgg/t3code#13686
* perf(server): per-thread settlement and PR checks no longer rebuild the whole thread list by @t3dotgg in pingdotgg/t3code#13691
* fix(mobile): running threads open at the latest message by @AKolenda in pingdotgg/t3code#13530
* feat(observability): record event loop stalls in the server trace by @t3dotgg in pingdotgg/t3code#13697
* perf(server): stop re-running git for every project each minute by @t3dotgg in pingdotgg/t3code#13689
* fix(usage): hide the Cursor keychain prompt when Cursor isn't set up by @Gigioxx in pingdotgg/t3code#13714
* feat(web): add chat width setting for wide screens by @otavio in pingdotgg/t3code#11594
* fix(opencode): accept v2 serve ready line when spawning server by @shirishpothi in pingdotgg/t3code#13651
* fix(editors): stop treating the agy CLI as the Antigravity IDE by @ishaanko in pingdotgg/t3code#7079
* fix(web): make the empty workspace draggable on desktop by @otavio in pingdotgg/t3code#13713
* fix(server): installed editors no longer vanish when discovery is slow by @bfowler in pingdotgg/t3code#13669
* fix(git): exclude SSH ports from provider URLs by @GaMeRaM in pingdotgg/t3code#12537
* fix(web): Mod+B bolds on non-Latin layouts by @ValeraZSD in pingdotgg/t3code#13409
* fix(server): prune expired replay-protection files from the secrets directory by @t3dotgg in pingdotgg/t3code#13695
* fix(web): terminal links drop a trailing colon by @ValeraZSD in pingdotgg/t3code#13408
* fix(server): bump node-pty to 1.2.0-beta.15 for linux-arm64 prebuild by @Ephraim-9 in pingdotgg/t3code#13748
* Show a focus ring on sidebar thread and draft rows by @ryanilano in pingdotgg/t3code#13344
* fix(mobile): keep composer within folded screen after resume by @PixPMusic in pingdotgg/t3code#13310
* fix(server): let OpenCode generate session titles by @macodev00 in pingdotgg/t3code#13368
* fix(server): let Antigravity inspect unsupported files by path by @Bil0000 in pingdotgg/t3code#13339
* fix(mobile): link URLs with ports and single-label hosts by @Yash-Singh1 in pingdotgg/t3code#13795
* feat(web): add keyboard navigation for usage by @tris203 in pingdotgg/t3code#10158
* perf(observability): stop writing empty spans on spawns, projected events, and idle polls by @t3dotgg in pingdotgg/t3code#13756
* perf(server): opening Diagnostics no longer loads the whole trace ring into memory by @t3dotgg in pingdotgg/t3code#13763
* perf(clients): sort projects and settled threads without re-parsing dates per comparison by @t3dotgg in pingdotgg/t3code#13759
* fix(observability): the renderer trace proxy stops tracing itself by @t3dotgg in pingdotgg/t3code#13761
* perf(server): background sweeps only read threads that can still settle by @t3dotgg in pingdotgg/t3code#13765
* perf(clients): saving the thread list cache no longer freezes the UI by @t3dotgg in pingdotgg/t3code#13767
* perf(server): cut idle wakeups from the Connect relay and session reaper by @t3dotgg in pingdotgg/t3code#13774
* fix(mobile): keep trailing underscores and tildes in autolinked URLs by @Yash-Singh1 in pingdotgg/t3code#13807
* fix(web): queued messages send while their thread is not open by @t3dotgg in pingdotgg/t3code#13764
* fix(server): background git status fetches no longer fill the disk with failed repacks by @t3dotgg in pingdotgg/t3code#13812
* fix(mobile): thread list shows the pull request icon instead of # by @flamboh in pingdotgg/t3code#13742
* fix(accessibility): correct control announcements and sidebar traversal by @blinding-pixels in pingdotgg/t3code#13491
* fix(usage): tolerate newer provider variants by @tris203 in pingdotgg/t3code#10076
* fix(usage): omit Cursor warning when no login is saved by @tris203 in pingdotgg/t3code#13820
* fix(usage): identify client version mismatches by @tris203 in pingdotgg/t3code#8208
* fix(web): stop mistaking offline servers for updates by @tris203 in pingdotgg/t3code#13083
* test(usage): assert contract mismatch details by @Yash-Singh1 in pingdotgg/t3code#13861
* fix(build): validate Linux node-pty prebuilds in Windows artifacts by @Yash-Singh1 in pingdotgg/t3code#13867

## New Contributors
* @otavio made their first contribution in pingdotgg/t3code#11594
* @shirishpothi made their first contribution in pingdotgg/t3code#13651
* @bfowler made their first contribution in pingdotgg/t3code#13669
* @GaMeRaM made their first contribution in pingdotgg/t3code#12537
* @ValeraZSD made their first contribution in pingdotgg/t3code#13409
* @Ephraim-9 made their first contribution in pingdotgg/t3code#13748
* @ryanilano made their first contribution in pingdotgg/t3code#13344
* @macodev00 made their first contribution in pingdotgg/t3code#13368
* @blinding-pixels made their first contribution in pingdotgg/t3code#13491

**Full Changelog**: pingdotgg/t3code@v0.0.43-nightly.20260926.2282...v0.0.43-nightly.20260926.2318

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.43-nightly.20260926.2318
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Open in detects Antigravity CLI as an IDE and misses installed Zed on macOS

2 participants