Most people searching for goose alternatives do not need one. goose is not retired: it moved from block/goose to aaif-goose/goose under the Agentic AI Foundation at the Linux Foundation, and the repository was not archived, was pushed on September 21, 2026, and published v1.51.0 on September 17, 2026. If you are still leaving, the alternative that fits depends entirely on which reason you are leaving for — and the part no comparison table covers is what carries across. Instructions travel, recipes and session history do not, and every destination writes the endpoint URL in a different shape from goose.
A search for goose AI alternatives returns two unrelated products, so one disambiguation first. This page is about goose the open-source coding agent, documented at goose-docs.ai. It is not goose.ai, a managed NLP inference service described on its own site as a joint venture of CoreWeave and Anlatan, whose homepage mentions no coding agent, no CLI and no repository (checked September 21, 2026). The per-request prices published there belong to that service and appear nowhere on this page. Two more collisions worth knowing: pressly/goose is a Go database migration tool, and goose-lang/goose converts a subset of Go to Rocq.
The rename is real, and half of it has not propagated
The move was announced on the project's own blog on April 7, 2026 by Michael Neale, Principal Engineer: "The GitHub repository and related projects have moved from block/goose to a new org", adding that "The old docs links will redirect, but update your bookmarks to the new site." The foundation itself was announced earlier, in the Linux Foundation press release forming the Agentic AI Foundation, anchored by contributions including MCP, goose and AGENTS.md.
What makes goose look abandoned in search results is that the old name is still baked into shipping artifacts. Checked September 21, 2026:
| Surface | What it does today | Reads as |
|---|---|---|
github.com/block/goose | HTTP 301 to github.com/aaif-goose/goose | Moved, server-side |
block.github.io/goose | HTTP 200 serving a page titled "goose has moved — Redirecting…" with a meta refresh and a canonical to goose-docs.ai | Moved, but via the browser — not an HTTP redirect |
| Homebrew cask | Still the token block-goose, version 1.51.0, with its homepage field still pointing at block.github.io/goose | Still Block |
| VS Code extension id | Still block.vscode-goose | Still Block |
| Windows config directory | Still %APPDATA%\Block\goose\config\ | Still Block |
So "Block's goose" is stale for the repository and the docs, and still literally correct for the install artifacts. Those artifacts are why the Block association persists in search results and software listings; they are not evidence that governance sits there now.
Three exits that turn out to be goose settings
Before shortlisting anything, check whether your reason is already a configuration change. Three common ones are, all from goose's own docs checked September 21, 2026:
- "I want it to stop asking" — or to ask more.
GOOSE_MODEcontrols tool execution with the valuesauto,approve,chatandsmart_approve, defaulting toauto(environment variables). Autonomy is a dial here, not a missing feature. - "I want it in my editor." Zed can run goose as an ACP agent, and an official VS Code extension exists — but its page sits under
/docs/experimental/and says "goose for VS Code is in active development. Behavior and configuration may change in future releases," needing VS Code 1.95.0 or higher plus the goose CLI. Experimental, not a peer of a mature extension. - "I want to stop paying per token." goose's ACP providers — Claude ACP, Codex ACP, Amp ACP and Pi ACP — "let you use goose with your existing Claude Code or ChatGPT Plus/Pro subscriptions — no per-token API costs." Two limits are stated:
goose session resumeandgoose session forkare not supported yet, and the ACP session id differs from the goose session id, so telemetry fields may not correlate. The documented prerequisites are Node.js and npm, the provider's ACP adapter, and a vendor account or subscription to authenticate against — so that route bills through the vendor account and there is no base URL to point elsewhere.
If you are leaving: match the destination to the reason
| Why you are leaving | What fits | The catch |
|---|---|---|
| You want a different terminal agent with a bigger community | opencode | Its GitHub org moved from sst to anomalyco; the product name, site and npm package are unchanged. The date of that move is not something this page verified, only that the redirect is in place |
| You want a polished TUI and fast releases | Crush | FSL-1.1-MIT, not an OSI open-source licence — it grants use for any purpose "other than a Competing Use". Free to download and use for ordinary development; wrong choice if licensing is the reason you are moving |
| You work inside VS Code and want a mature extension | Cline | An editor extension is a different working shape from a CLI agent; your terminal scripts and headless runs do not carry over |
| You want longer autonomous runs, with a hosted option | OpenHands | The GitHub org renamed from All-Hands-AI to OpenHands and the site is openhands.dev; no dated rebrand announcement was found for it |
| You want a small, editor-agnostic pair-programming loop | Aider | Not archived, but the cadence has stopped: last commit May 22, 2026, last GitHub release v0.86.0 on August 9, 2025. Scope it by those dates, not as an actively developed peer |
| Licence or governance is the reason | goose is already Apache-2.0 under a Linux Foundation project | Check what you are actually gaining before moving; opencode and OpenHands are MIT, Cline is Apache-2.0 |
Two names that come up in listicles and should not be destinations. Roo Code is archived: the GitHub API reports archived: true with its last release v3.54.0 on May 15, 2026 and no push since. Third-party write-ups name a successor fork; this page did not confirm that on any official source, so no successor is named here. Continue is not a destination either — continue.dev carries the banner "Continue has joined Cursor" and the repository README states that "the continuedev/continue repository is no longer actively maintained and is read-only for all users" after a final 2.0.0 release. Its GitHub archived flag is still false, which contradicts that wording; the README is the statement to trust. See Continue alternatives if that is where you are coming from.
Status of every candidate, checked the same day
| Project | Repository | Licence | Latest release | Archived? |
|---|---|---|---|---|
| goose | aaif-goose/goose | Apache-2.0 | v1.51.0, Sep 17, 2026 | No |
| opencode | anomalyco/opencode | MIT | v1.18.31, Sep 14, 2026 | No |
| Crush | charmbracelet/crush | FSL-1.1-MIT | v0.96.1, Sep 21, 2026 | No |
| Cline | cline/cline | Apache-2.0 | Pushed Sep 21, 2026 | No |
| OpenHands | OpenHands/OpenHands | MIT | v1.20.0, Sep 17, 2026 | No |
| Aider | Aider-AI/aider | Apache-2.0 | v0.86.0, Aug 9, 2025 | No, but last commit May 22, 2026 |
| Roo Code | RooCodeInc/Roo-Code | Apache-2.0 | v3.54.0, May 15, 2026 | Yes |
Read from the GitHub API on September 21, 2026; release numbers and activity dates drift, so re-check before standardizing a team on any of them. What each one charges for the client itself, from its own published terms: goose is Apache-2.0 and its installation page says only that "you'll need to ensure that you have credits available in your LLM Provider account to successfully make requests." Cline lists Open Source as Free and Enterprise as Custom; OpenHands lists Open Source (Local) Free, Individual (SaaS) Free and Enterprise at custom pricing, with models offered "at cost, with no markup" and no dollar rates published; Crush's README calls Charm Hyper subscription-based with a free tier and publishes no figures for it.
What migrates out of goose, and what does not
| What you have | Where it lives | Does it move? |
|---|---|---|
| Project instructions | AGENTS.md and .goosehints, loaded from the project root and parent directories, plus ~/.config/goose/ | Yes. goose reads AGENTS.md natively and the filename list is set by CONTEXT_FILE_NAMES, so the file is already portable. Check which name your destination reads |
| Agent Skills | SKILL.md with YAML frontmatter, under ~/.agents/skills/ and .agents/skills/ | Claimed portable by goose's docs, which say goose skills are compatible with agents that support the Agent Skills convention. That is a claim about the convention, not a promise that any tool on this page reads them |
| Recipes | goose-specific YAML or JSON, with title, description and instructions or prompt | No. Nothing here reads that format. Budget re-authoring, and note that .yml is not supported by the goose CLI even for goose itself |
| Session history | SQLite at ~/.local/share/goose/sessions/sessions.db since version 1.10.0 | No. goose session export writes JSON or Markdown, and import is only available in goose Desktop from goose's own JSON. The Windows path is not given in the docs |
| Provider API keys | System keyring, falling back to plaintext secrets.yaml; environment variables win | No. goose does not read keys from config.yaml, so there is nothing to copy — issue or re-enter a key in the destination |
All five rows read from goose's own documentation on September 21, 2026. One conflict to be aware of: goose's context-file guide lists the default filenames as AGENTS.md then .goosehints, while its environment-variables page gives the CONTEXT_FILE_NAMES default in the opposite order. Rely on the set of filenames, not on which one wins.
The rollback is cheap, so keep it. Because keys never sit in config.yaml and sessions live in their own database, installing a second agent does not disturb a working goose setup. Leave goose installed, run one real task in the candidate, and only then decide. Export the sessions you care about before uninstalling anything, since the export is one-directional.
The endpoint URL changes shape when you move
This is the single most useful migration fact on the page, and it breaks setups quietly. goose does not take one base URL. It takes a host and a path with a default: its providers page documents OPENAI_HOST as the "Custom endpoint URL (defaults to api.openai.com)" and OPENAI_BASE_PATH as the "Request path appended to the host (defaults to v1/chat/completions)". So the host is the bare origin with no /v1. opencode and Crush both take one full base URL with the /v1 written in.
# goose — host and path are SEPARATE. The origin carries no /v1.
OPENAI_API_KEY=sk-kn-...
OPENAI_HOST=https://api.kunavo.com
# OPENAI_BASE_PATH is left unset; its default is v1/chat/completions.
# opencode — one full baseURL, /v1 included, inside opencode.json:
# "options": { "baseURL": "https://api.kunavo.com/v1" }
# Crush — one full --base-url, /v1 included. This is NOT a shell command:
# a crushrc is Bash with Crush builtins, and "provider add" is one of them.
provider add kunavo --type openai-compat \
--base-url "https://api.kunavo.com/v1" --api-key "$KUNAVO_API_KEY"Copy a goose host string straight into either destination and the request loses its /v1; copy the other direction and goose asks for /v1/v1/chat/completions. goose's own page reads that failure correctly: "A 404 usually means OPENAI_BASE_PATH is wrong for your proxy" — a path fault, not an authentication one. Setup details per client live in the goose integration guide, opencode, Crush, Cline and OpenHands. Those are published configuration references read from each vendor's documentation — Kunavo has not runtime-tested any of these clients against its endpoint, and a setup page is not a test.
Kunavo serves no embedding, text-to-speech or speech-to-text model, so any step in your workflow that indexes a codebase by vector or transcribes audio keeps whatever provider key it already has — pointing an agent's chat provider here does not move those calls.
What a session costs, and what goose does about caching
One caching detail is worth reading before you budget. goose's providers page says goose "automatically enables Anthropic's prompt caching when using Claude models via Anthropic, Amazon Bedrock, Databricks, OpenRouter, and LiteLLM providers", and its own docs say what that does: "This adds cache_control markers to requests." A Claude model reached through goose's generic OpenAI provider is not in that list, so goose will not add those markers on that route. That is a statement about Anthropic's marker-based protocol and about what goose sends — not about every caching scheme: a provider whose caching is applied server-side needs nothing from the client, and this page did not test whether any given endpoint caches an unmarked request. So do not assume a cache discount on that route, and do not assume its absence either; the figures below simply assume none, which is the conservative direction.
The figures below are illustrative token arithmetic, not measured task costs and not a bill ceiling. Assume one agent session that sends 400,000 uncached input tokens across its turns and receives 25,000 output tokens — an assumption for illustration, since context re-sent on every turn is what makes agent sessions input-heavy. Rates are live Kunavo catalog prices per million tokens.
| Model | Input / output per 1M | Estimate for one session |
|---|---|---|
| Claude Haiku 4.5 | $0.40 / $2.00 | $0.210 |
| Gemini 3.8 Flash | $0.525 / $2.625 | $0.276 |
| Claude Sonnet 5 | $2.00 / $10.00 | $1.050 |
| GPT-5.6 Sol | $2.00 / $12.00 | $1.100 |
Scale by your own sessions per day before treating this as a budget, and note that cheapest listed rate and cheapest way to finish the task are different claims: a model that needs three attempts can cost more than one that needs one. Kunavo's catalog amount is a billing floor rather than a cap — when the upstream reports its charge, the bill is the greater of catalog cost and upstream cost times the applicable markup. Cache charges and external tools sit outside this example. The minimum top-up is $10 in prepaid credit, a funding minimum rather than a task fee or a subscription; see billing details.
Two free routes documented inside goose itself are worth trying before you buy anything: its installation page states "You'll receive $10 in free credits the first time you automatically authenticate with Tetrate through goose", and notes that Google Gemini offers a free tier to start with, without giving a quota figure.
Where to go next
Staying on goose and only changing the model route? goose vs Claude Code covers the ACP-versus-API decision. Moving? opencode alternatives, Crush vs opencode and OpenHands vs opencode compare the clients; Cline pricing and Aider pricing cover what each one bills. When one key across several of these clients is what you want, create a Kunavo account and run one bounded task before committing a team to anything.
FAQ
Is goose discontinued or abandoned?
No. goose moved from the block/goose GitHub organization to aaif-goose/goose as a project of the Agentic AI Foundation at the Linux Foundation, announced on the project's own blog on April 7, 2026 by Michael Neale, Principal Engineer. On September 21, 2026 the GitHub API reported the repository as not archived, Apache-2.0 licensed, with its most recent push that same day and release v1.51.0 published September 17, 2026. The Block name still appears on the Homebrew cask (block-goose), the VS Code extension id (block.vscode-goose) and the Windows config directory, which is why the project can look retired in search results when it is not.
Is goose the same thing as goose.ai?
No, and this is the most common confusion on the query. goose.ai is a managed NLP inference service described on its own site as a joint venture of CoreWeave and Anlatan; its homepage mentions no coding agent, no CLI and no repository (checked September 21, 2026). goose the coding agent is the Apache-2.0 open-source project at aaif-goose/goose with documentation at goose-docs.ai. Any per-request price you find attached to the name goose.ai describes the inference service, not the agent. Two further name collisions exist on GitHub: pressly/goose is a Go database migration tool and goose-lang/goose converts a subset of Go to Rocq.
What is the best open-source alternative to goose?
It depends on which property you are replacing, and goose is already Apache-2.0, so licence alone is rarely the reason. For a terminal agent with a large community, opencode is MIT and released v1.18.31 on September 14, 2026; its GitHub org moved from sst to anomalyco while the name, site and npm package stayed the same. For a VS Code extension workflow, Cline is Apache-2.0 and was pushed on September 21, 2026. For longer autonomous runs with a hosted option, OpenHands is MIT and released v1.20.0 on September 17, 2026. Crush is actively released — v0.96.1 on September 21, 2026 — but ships under FSL-1.1-MIT, which excludes a Competing Use and is not an OSI open-source licence, so it is the wrong destination if licensing is what you are leaving over. All checked September 21, 2026.
Can I keep my goose configuration when I switch agents?
Partly. Project instructions travel, because goose already reads AGENTS.md alongside .goosehints and the filename list is set by the CONTEXT_FILE_NAMES environment variable, so the file is in a portable format before you move it — check which filename the destination reads in its own documentation. goose recipes do not travel: they are a goose-specific YAML or JSON format with title, description and instructions or prompt, and no alternative reads them, so they are re-authored rather than exported. Session history does not travel either: from version 1.10.0 goose stores sessions in a SQLite database at ~/.local/share/goose/sessions/sessions.db, and goose session export writes JSON or Markdown that only goose Desktop can import back. API keys cannot be copied out of a config file at all, because goose does not read provider keys from config.yaml — they live in the system keyring, or in secrets.yaml when no keyring is available.
Why does my new agent return 404 when goose worked with the same URL?
Because goose writes the endpoint differently from almost everything else. goose splits it in two: OPENAI_HOST is documented as the "Custom endpoint URL (defaults to api.openai.com)" and OPENAI_BASE_PATH as the "Request path appended to the host (defaults to v1/chat/completions)", so the host field takes the bare origin with no /v1 and goose appends the path itself. opencode and Crush both take one full base URL with /v1 included. Copying a goose host string into either produces a URL missing its /v1, and copying the other direction produces /v1/v1/chat/completions. goose's own providers page reads a 404 as the base path being wrong for your proxy rather than an authentication fault (checked September 21, 2026).
Do I have to pay per token if I leave goose?
Not necessarily, and this is worth checking before you move at all, because goose already has a route that avoids it. goose's ACP providers — Claude ACP, Codex ACP, Amp ACP and Pi ACP — are documented as letting you "use goose with your existing Claude Code or ChatGPT Plus/Pro subscriptions — no per-token API costs." The documented prerequisites are Node.js and npm, the provider's ACP adapter, and a vendor account or subscription to authenticate against; the route therefore bills through that vendor account rather than through an API key you point at a base URL. Two limits are stated outright: goose session resume and goose session fork are not supported yet, and the ACP session id differs from the goose session id so telemetry fields may not correlate. Checked September 21, 2026.
Checked September 21, 2026 while writing this page: repository status, licence and latest release for all seven projects via the GitHub API; the block/goose and sst/opencode redirects and the block.github.io/goose response by direct request; the Homebrew cask metadata; goose's blog post, providers, ACP, environment-variables, installation, config-files, session-management, context-file, skills, Zed ACP, recipe-reference and VS Code extension pages; the Crush README and LICENSE.md; the Continue README and continue.dev; and the Cline, OpenHands and goose.ai sites. Not checked: any runtime behaviour — no client on this page was run against Kunavo's endpoint. Kunavo token rates are read from the live catalog, and every dollar example here is illustrative token arithmetic.