Goose

Generated on 9 Sep 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.50.0 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.

Deploy to DO

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. Create the Droplet

Choose this 1-Click in the DigitalOcean Marketplace and wait for provisioning.

2. SSH as root (required once)

ssh root@YOUR_DROPLET_IPV4

The first interactive login runs the setup wizard. It will:

  1. Prompt for a web console password. Enter the same password twice, minimum 8 characters, to enable nginx, HTTP Basic Auth, and the browser terminal. Leave both prompts empty (press Enter twice each time) if you do not want nginx or a public HTTPS web UI; you can enable the web console later with /opt/goose/enable-web-console.sh.
  2. If you set a web password: a local copy is saved at /root/.goose_web_console_password.txt (mode 600), nginx serves the web terminal, and Certbot requests a Let’s Encrypt certificate for this Droplet’s public IPv4 (short-lived IP profile) with renewal configured. If you skipped the password, nginx and Certbot for the browser stay off until you run /opt/goose/enable-web-console.sh.
  3. The Goose CLI is already on the image from the build; use goose --version to confirm. Run goose configure when you want other providers beyond what the wizard sets up for DigitalOcean Inference.
  4. Optional — DigitalOcean Inference: enter your Inference model access key when prompted, or press Enter to skip and run /opt/goose/configure-do-key.sh later. The image installs DigitalOcean Inference (GOOSE_PROVIDER: digitalocean_model) against https://inference.do-ai.run/v1 with the same model ids as the OpenClaw/OpenCode 1-Clicks (for example minimax-m2.5, kimi-k3, anthropic-claude-4.5-sonnet). Default model is minimax-m2.5; edit GOOSE_MODEL in ~/.config/goose/config.yaml or use goose configure to switch. If you enter a key, you do not need to run goose configure for DigitalOcean Inference alone.

3. Open the web console (if enabled)

If you set a web password at first login, or you already ran /opt/goose/enable-web-console.sh, open in a browser:

https://YOUR_DROPLET_IPV4/
  • Username: goose
  • Password: the value you chose

Your browser may briefly show a warning if the temporary self-signed certificate is still in use (for example, if Let’s Encrypt issuance failed). After a successful issuance, the certificate chain is publicly trusted (short-lived IP profile).

3b. Enable the web console later

If you skipped the web password on first login, run as root over SSH:

/opt/goose/enable-web-console.sh

You will be prompted for a password (8+ characters). The script configures nginx, starts it, requests a Let’s Encrypt IP certificate when possible, and installs the renewal cron job.

4. Use Goose on the CLI

goose configure    # optional: other providers or to change defaults away from DO Inference
goose --help

If you saved a DigitalOcean Inference key at first login (or via /opt/goose/configure-do-key.sh), Goose uses DigitalOcean Inference with default model minimax-m2.5; run goose configure only if you want a different provider or model.

TLS, Let’s Encrypt, and IP addresses

Let’s Encrypt issues IP address certificates only under the shortlived profile (about six days). This image:

  • Installs Certbot in /opt/certbot-venv (newer than the Ubuntu apt Certbot, so --ip-address and --preferred-profile shortlived work with webroot while nginx keeps serving port 80).
  • Adds /etc/cron.d/goose-certbot-renew to run certbot renew twice daily with a deploy hook that reloads nginx (only after the web console has been enabled with a password).

If issuance fails (firewall, rate limits, or connectivity), nginx continues using /etc/ssl/goose/selfsigned.crt until you fix the issue and re-run Certbot manually (see /opt/goose/README.txt).

Firewall and ports

UFW is configured via 014-ufw-nginx.sh: SSH, HTTP, and HTTPS are allowed. ttyd is not exposed on a public port; only nginx is (when nginx is running). If you never use the web console, you may tighten UFW if you prefer.

Files and paths

Path Purpose
/opt/goose/README.txt Operator quick reference
/opt/goose/first-login-setup.sh First-login wizard
/opt/goose/configure-do-key.sh Set or remove DO_MODEL_ACCESS_API_KEY for DO Inference
/opt/goose/migrate-do-provider-id.sh Refresh declarative JSON and rewrite legacy GOOSE_PROVIDER: kimi → digitalocean_model
/opt/goose/lib-goose-do.sh Shared helpers (sourced by setup scripts; not run directly)
/root/.config/goose/secrets.yaml DO Inference key for Goose (when configured)
/root/.config/goose/config.yaml GOOSE_PROVIDER, GOOSE_MODEL, GOOSE_DISABLE_KEYRING when DO Inference is configured
/opt/goose/custom_providers/digitalocean_model.json Declarative provider definition (copied to /root/.config/goose/custom_providers/)
/etc/profile.d/goose-do.sh Optional export DO_MODEL_ACCESS_API_KEY=… (mode 600); also sourced from .bashrc
/opt/goose/enable-web-console.sh Prompt for password; start nginx, TLS, Certbot, cron
/root/.goose-web-console-disabled Present if you skipped the web password at first login
/opt/goose/nginx-*.conf.tpl nginx templates used during boot / setup
/etc/nginx/.goose-ttyd.htpasswd HTTP Basic credentials for the web console
/root/.goose_web_console_password.txt Plain-text copy of the web password (remove when appropriate)
/root/.goose-first-login-done Marker that first-login completed
/opt/certbot-venv/bin/certbot Certbot for issuance and renewal

Documentation and support

This Marketplace image is maintained for convenience; for product bugs and features, use the upstream Goose project.

We can't find any results for your search.

Try using different keywords or simplifying your search terms.