← All open source projects

goose

aaif-goose/goose

goose is a local AI agent with a desktop app, CLI, and API for code, research, and automation.

Forks 5,115
Author aaif-goose
Language Rust
License Apache-2.0
Synced 2026-06-10

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.

Language: Bash
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.