Goose
Generated on 5 May 2026 from the Goose catalog page
Goose is an open-source AI agent designed to execute complex software engineering tasks directly from your Linux terminal. Unlike standard autocomplete tools, it functions as a “on-machine” agent that can independently edit files, run shell commands, and manage your development environment.
How to Use Goose AI:
A Quick GuideGoose is a powerful open-source AI agent designed to automate software engineering tasks directly from your terminal. To get started, your first step is to run goose configure. This allows you to link your preferred Large Language Model (LLM), such as OpenAI, Anthropic, or a local provider like Ollama. Once configured, navigate to your project directory and launch an interactive environment by typing goose session. In this mode, you can provide instructions in natural language, asking the agent to write features, generate tests, or fix complex bugs.
Unlike standard AI assistants, Goose is “agentic”—it independently analyzes your file structure, edits code, and executes shell commands to verify its work. For quick, one-off tasks without entering a full session, you can use the goose run -t command followed by your prompt. You can also extend its capabilities using the Model Context Protocol (MCP) to connect tools like GitHub, Jira, or local databases via the configuration menu. Safety is built-in; you can toggle between manual approval for every action or full autonomy for faster workflows. Every session is saved, allowing you to exit and resume your work exactly where you left off, providing a seamless AI-driven development experience on your Linux system.
Essential CLI Commands:
goose configure – Set up LLM providers and manage MCP extensions.
goose session – Start a new interactive agent session in the current folder.
goose run -t "instruction" – Execute a specific task directly in one command.
goose session list – View a history of all active and past sessions.
goose session remove – Interactively choose and delete old sessions.
Software Included
| Package | Version | License |
|---|---|---|
| goose | 1.33.1 | Apache License 2.0 (ASL2) |
| ttyd | 1.7.4 | MIT License |
| nginx | 1.24.0 | 2-clause BSD License |
Creating an App using the Control Panel
Click the Deploy to DigitalOcean button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.
Creating an App using the API
In addition to creating a Droplet from the Goose 1-Click App using the control panel, you can also use the DigitalOcean API. As an example, to create a 4GB Goose Droplet in the SFO2 region, you can use the following curl command. You need to either save your API access token to an environment variable or substitute it in the command below.
curl -X POST -H 'Content-Type: application/json' \
-H 'Authorization: Bearer '$TOKEN'' -d \
'{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image":"goose"}' \
"https://api.digitalocean.com/v2/droplets"Getting Started After Deploying Goose
1. Get on the machine
ssh root@YOUR_DROPLET_IP
The first interactive login runs the setup wizard.
2. First-time wizard
Web console password: Enter the same password twice (8+ characters) to turn on HTTPS in the browser, Basic Auth, and (when possible) Let’s Encrypt for your Droplet’s IP.
Skip the web UI: Press Enter on both prompts (empty password). Goose CLI still installs; nginx stays off.
After setup, goose is on your PATH (typically /usr/local/bin). Run:
goose configure
to add API keys / providers, then use Goose as usual (see upstream docs: https://github.com/aaif-goose/goose ).
3. SSH / terminal usage (always)
Work from any SSH session:
goose --help
goose configure # if you haven’t set providers yet
Use Goose from project directories the same way you would on your laptop.
4. Web UI (only if you enabled it)
If you set a web password at first login (or ran the script below later), open in a browser:
https://YOUR_DROPLET_IP/
Username: goose
Password: what you set at setup (a copy may exist at
/root/.goose_web_console_password.txt — delete it when you don’t need it).
That page is a browser terminal (ttyd) behind nginx; it’s the same kind of shell access over HTTPS.
5. Enable the web UI later (if you skipped it)
SSH as root and run:
/opt/goose/enable-web-console.sh
Follow the prompts, then use https://YOUR_DROPLET_IP/ as above.
6. Quick reference on the Droplet
/opt/goose/README.txt — short operator notes
/opt/goose/enable-web-console.sh — turn on web access after skipping it