English · 简体中文
Open Finder selections in your favorite terminal, editor, or custom program.
Supports macOS 15.7 and later. Download the latest release from GitHub Releases.
Context menu
Toolbar menu
- Configurable presets for Terminal, iTerm2, Ghostty, Visual Studio Code, Zed, Fork, Typora, and Xcode.
- Custom application or executable paths and one argument per line.
- Choose per launcher whether to show it directly in the Finder context menu or inside Open with Gogo. The submenu can be hidden without hiding direct launchers; the toolbar menu is unchanged.
- Finder menus cover visible mounted volumes, including external drives, and refresh when drives are connected or ejected.
- Drag to reorder launchers; click a row to edit.
- Automatically follows the system language, with English and Simplified Chinese overrides.
- Copy selected paths, or the current folder path when nothing is selected. Copy Current Path can appear directly in the context menu or inside Open with Gogo; multiple paths are separated by newlines.
- No menu bar icon or login item.
Installing a packaged build does not require Xcode or an Apple developer account. Gogo is currently not notarized by Apple, so macOS may block the first launch.
- Download the latest release from GitHub Releases. Choose arm64 for Apple Silicon or x86_64 for Intel, open the DMG, then drag Gogo.app into Applications.
- Open Gogo. If macOS cannot verify the developer, go to System Settings → Privacy & Security → Open Anyway, then confirm Open. Only proceed if you trust the download source. See Apple’s instructions.
- In Gogo, open General → Finder Extension → Manage Extensions and enable its Finder extension. The System Settings location may vary by macOS version.
- In Finder, choose View → Customize Toolbar and add the Gogo button. macOS requests file access when needed during use.
Requires Xcode and system Python 3; no third-party runtime dependencies. Initially compiled using Xcode 27.
swift test
./scripts/build.sh CODE_SIGNING_ALLOWED=NOThe script generates gogo.xcodeproj and builds .build/xcode/Build/Products/Debug/Gogo.app. Unsigned builds only establish compilation.
For isolated settings UI preview:
codesign --force --sign - --entitlements Config/Finder.entitlements .build/xcode/Build/Products/Debug/Gogo.app/Contents/PlugIns/GogoFinder.appex
codesign --force --sign - --entitlements Config/Gogo.entitlements .build/xcode/Build/Products/Debug/Gogo.app
open -n .build/xcode/Build/Products/Debug/Gogo.app --args --previewPreview configuration lives under gogo-preview/configuration.json in the system temporary directory and does not configure the Finder extension.
A settings preview does not establish Finder registration. Keep the extension's sandbox entitlement when signing: re-signing with only codesign --sign - removes it, and PlugInKit rejects the extension with plug-ins must be sandboxed.
Install the app in /Applications, open the installed copy, then check System Settings → General → Login Items & Extensions → By App → Gogo. On the tested macOS 27 build, Finder Sync appears under the File Providers label. Enablement is a separate user choice.
For a local development registration check:
pluginkit -a /Applications/Gogo.app/Contents/PlugIns/GogoFinder.appex
pluginkit -m -A -D -v -i cn.053x.gogo.finder- Open files with application uses LaunchServices and may reuse the running application.
- Application with arguments starts a new instance so arguments are delivered at launch.
- Executable with arguments runs an absolute executable path with a working directory, without a shell.
Use {paths} on its own line for selected paths, one argument per item. Use {directory} for the selected directory or a file's parent directory. Do not add shell quotes. Tilde, environment variables, globbing, and shell commands are not expanded. Argument-based launchers currently require a selection that resolves to one working directory; document launchers allow multiple directories.
Drag launcher rows to change their order; changes are saved when you drop. Click a row to edit it.
Click Add Launcher to create a custom launcher. Use the arrow beside it to restore a removed preset without changing existing launchers.
In Finder, choose whether to show the Open with Gogo submenu and whether to place Copy Current Path directly in the context menu. Hiding the submenu leaves direct launchers and a direct Copy Current Path item available. Toolbar settings are independent.
Choose Follow System, English, or Simplified Chinese in General.
Core models and argument tests are under Sources/GogoCore and Tests/GogoCoreTests. The host UI is under Sources/Gogo; the thin Finder extension is under Sources/GogoFinder. Translation resources are in Resources/en.lproj and Resources/zh-Hans.lproj.
Selected design · Validation record
Inspired by the workflow of OpenInTerminal. Gogo is independently implemented in Swift.
MIT.



