What it is
goose is a local general-purpose AI agent. It is not limited to code: it can be used for research, writing, automation, data analysis, and tasks where the model needs to use tools. The project includes a desktop app, CLI, and API, and the agent is written in Rust.
The repository was previously associated with Block and later moved to the Agentic AI Foundation under the Linux Foundation. That matters because the project positions itself not as a closed wrapper around one provider, but as an extensible agent tool that can work with different models and connections.
What is inside
goose supports many model providers, including Anthropic, OpenAI, Google, Ollama, OpenRouter, Azure, and Bedrock. It also mentions extension support through the Model Context Protocol. In practice, the agent can sit next to local files, the terminal, external services, and tools instead of being limited to a chat window.
CLI installation
This example shows the command-line installation path. After installation, goose can be launched from the terminal and connected to the model provider you want.
curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash
goose
Where it is useful
goose is interesting for developers and technical users who want an agent on their own machine: inspect a project, run a sequence of commands, prepare text, gather data, or connect several tools. The desktop app lowers the entry barrier, while the CLI and API create a path for more engineering-oriented use.
Limitations
The key questions for agents like this are permissions, action control, and model quality. The more tools an agent receives, the more carefully the environment, secrets, and execution boundaries need to be configured. goose provides a useful base, but responsibility for checking results, commands, and data access remains with the user or team.