Overview
Goose is an open-source Rust coding agent with CLI, desktop app (Electron), and server modes. Uses system keyring for credentials.Binary path:
Config:
Dependencies:
License: Apache-2.0 (open source)
~/.local/bin/gooseConfig:
~/Library/Application Support/Block.goose/ (macOS)Dependencies:
$$require=55-integrations-optional/keychain.sb$$License: Apache-2.0 (open source)
Sandbox Profile
Running in Safehouse
Execution Modes
- CLI (Interactive) — Custom TUI with rustyline/cliclack/bat
- Desktop App — Electron app (React + HTTP/WebSocket to
goosed) - Web mode —
goose webbinds axum server on port 3000 - Server —
goosedbinary (HTTP/WebSocket API)
Keyring Integration
Goose uses thekeyring crate with:
- macOS:
apple-native(Security.framework) - Linux:
sync-secret-service(D-Bus) - Windows:
windows-native(Credential Manager)
goose, username: secrets
Fallback: ~/.config/goose/secrets.yaml (plaintext YAML)
OAuth Flows
MCP Extension Servers
Goose includes built-in MCP servers:- Developer — File editing, shell, screen capture, memory
- Computer Controller — AppleScript (macOS), shell automation
- Memory — Project-local and global storage
- Tutorial — Onboarding/help
- Auto-visualiser — Data visualization
Screen Capture
Usesxcap crate for screenshots:
- Full display capture
- Specific window capture
- Window list enumeration