The project's README from github.com/edison-land/paragravity. As one markdown file: README.md.
pgrav)Native, non-invasive parallel multi-account & sandbox manager for Google Antigravity.
Run multiple Google Gemini Pro accounts side-by-side in independent, isolated windows on macOS and Windows.
English | 简体中文
--user-data-dir sandboxing. Zero binary patching, zero internal database modifications, zero account security risks..app bundles (indexed by Spotlight) or Windows Desktop & Start Menu shortcuts (.lnk). Launch your instances directly via Spotlight (Cmd + Space) or Windows Search (Win + S).curl -fsSL https://raw.githubusercontent.com/edison-land/paragravity/main/install.sh | bash
Clone the repository and add the bin directory to your user PATH:
git clone https://github.com/edison-land/paragravity.git $HOME\.paragravity
# Add $HOME\.paragravity\bin to PATH, then use:
pgrav create work
💡 Windows notes
- Open a new terminal after updating
PATH— already-open shells won't pick up the change.pythonmust be onPATH(any Python 3.8+ install works).- Git Bash (MSYS2) is fully supported.
bin/pgravis a real POSIX script rather than a symlink, so it survives clones made with Windows' defaultcore.symlinks=falseand forwards arguments correctly. In CMD/PowerShell the bundledpgrav.cmdis used automatically.
brew tap edison-land/tap
brew install paragravity
💡 Tip: Both
pgrav(short) andparagravity(full) are registered and ready to use!
Create a new sandbox with a single command:
pgrav create zwe
This instantly:
~/.antigravity-profiles/zweAntigravity (zwe).app in ~/Applications~/Applications, which Spotlight indexes automatically — find it with Spotlight (Cmd + Space)To launch immediately upon creation:
pgrav create work --launch
To keep real ~/.ssh / ~/.config out of reach of agents running inside the profile, tighten the symlink policy with --links (default full preserves the original behavior):
pgrav create work --links minimal # link git/shell configs and project dirs, skip .ssh/.config
pgrav create work --links none # link almost nothing (keychain bridge only)
New profiles start clean, but you often want your custom keybindings, editor settings, snippets, agent skills, or MCP tools without having to re-configure them.
pgrav create work -i
# or
pgrav create work --inherit-config
pgrav create work2 --clone-from work
pgrav create work -i --no-mcp
🔒 Security Guarantee: Strict credential and session isolation. OAuth tokens (
jetski-standalone-oauth-token,oauth_creds.json), Google account IDs, cookies, local storage, and conversation histories are NEVER copied or inherited. All profiles are created with owner-only (0700/0600) permissions.
View all your parallel instances, live process status, and bound Google accounts:
pgrav list
# or simply:
pgrav ls
💡 Computing on-disk size walks every file in the profile, which is slow once profiles grow — so it is off by default. Use
pgrav list --sizewhen you need it, orpgrav list --jsonfor machine-readable output in scripts/CI.
Example Output:
PROFILE STATUS PID ACCOUNT (GOOGLE) SIZE DESCRIPTION
───────────────────────────────────────────────────────────────────────────────────────────────
zwe ● Running 49377 [email protected] — Development account
work ○ Stopped - [email protected] — Company projects
pgrav launch zwe
Or simply press Cmd + Space anywhere on your Mac and type Antigravity (zwe)!
You can also open a project folder directly at launch:
pgrav launch zwe ~/Projects/demo
pgrav stop zwe
Stopping is staged: the Electron main process first gets a chance to shut down cleanly and save workspace state, straggler children are reaped next, and only --force escalates to SIGKILL.
Background launches now write stdout/stderr to ~/.antigravity-profiles/<name>/logs/, so startup failures, sign-in and token-refresh issues are no longer invisible:
pgrav logs zwe # tail of the latest launch log
pgrav logs zwe -f # follow live output
pgrav logs zwe -n 200 # last 200 lines
pgrav info zwe
# scripts/CI: pgrav info zwe --json
pgrav delete zwe
Manage all your instances visually with zero dependencies:
# Launch full Web Console (Matrix grid, batch controls, macOS window tiling)
pgrav web
# or simply:
pgrav ui
# Launch compact floating widget HUD
pgrav widget
# or:
pgrav ui --widget
Tip: Visit http://127.0.0.1:3888 for the full console or http://127.0.0.1:3888/widget for the compact HUD view.
# Remove the CLI (skip the brew line if you didn't use Homebrew)
brew uninstall paragravity # or: rm ~/.local/bin/paragravity ~/.local/bin/pgrav
# Remove every profile sandbox (⚠️ permanently deletes all sign-in state and data)
rm -rf ~/.antigravity-profiles
# Remove the generated profile launchers
rm -rf ~/Applications/Antigravity\ \(*\).app
# Finally, remove the `export PATH="$HOME/.local/bin:$PATH"` line install.sh
# appended to your shell rc file, if present.
~/.antigravity-profiles/<name>/home/.gemini/jetski-standalone-oauth-token). Profile directories are created with 0700 permissions, but don't sync or back up ~/.antigravity-profiles to cloud drives or repositories.full policy: ~/.ssh, ~/.config, ~/.gitconfig, Desktop, Documents, Downloads, …). That means an agent running inside a profile can read those real files. Tighten it at creation time with --links minimal (skips the sensitive dotdirs) or --links none (keychain bridge only), or override per launch with launch --links.ParaGravity achieves completely clean, isolated execution through three native mechanisms:
┌──────────────────────────────────────────────────────────────┐
│ macOS Host Environment │
│ │
│ [Official App] [Profile A: zwe] [Profile B: work]
│ /Applications/ ~/.antigravity- ~/.antigravity-
│ Antigravity.app profiles/zwe profiles/work
│ (washingshop account) (zwe account) (work account)
│ │
│ ├── default Library/ ├── data/ ├── data/
│ └── default Keychain └── home/ └── home/
│ ├── .gemini/ ├── .gemini/
│ └── isolated └── isolated
│ tokens tokens
└──────────────────────────────────────────────────────────────┘
--user-data-dir): Each profile maintains its own Chromium partition, SQLite databases, IndexedDB, extensions, and workspace state.SSH_CONNECTION=1): Electron/Language Server automatically falls back to file-based token storage within the profile's isolated directory, preventing keychain contention with the host instance..app bundle registered in ~/Applications, making Antigravity multi-instance a first-class citizen in macOS.Contributions are warmly welcomed! Please feel free to submit an Issue or Pull Request.
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)Huge thanks to the contributors who helped shape ParaGravity:
Distributed under the MIT License. See LICENSE for more information.
ParaGravity is an open-source utility that leverages standard Chromium command-line options. It is not affiliated with, sponsored by, or endorsed by Google LLC. All trademarks belong to their respective owners.