|
Some checks failed
Unused Dependencies / machete (push) Has been cancelled
The recipe security scan (`Recipe::check_for_security_warnings`) only inspected `instructions`, `prompt`, and `activities` for hidden unicode tags. It never looked at the fields that actually run commands, so a shared recipe declaring a stdio extension `cmd`/`args`, a `retry.checks` shell command, or a `retry.on_failure` command passed the scan as clean and the Desktop showed no indication of what it would run. (Issue #10325) Add `Recipe::command_execution_warnings()`, returning a structured list of the commands a recipe will run (stdio extensions, retry checks, on_failure). This is kept separate from `check_for_security_warnings()`, which stays a tamper/obfuscation signal that blocks save/schedule — a prior attempt (closed PR #10337) folded command fields into that bool and would have blocked saving any legitimate recipe with a stdio extension. Expose the commands over the `recipes/scan` ACP response (`commands` + `requires_approval`) and render them in the Desktop's recipe trust modal so the user can review exactly what will run before accepting. Does not change extension startup or CLI execution semantics; the Desktop pre-execution ordering (extensions spawn during `session/new`, before the modal gates) is tracked as a follow-up. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .blox | ||
| .cargo | ||
| .devcontainer | ||
| .github | ||
| .intersect | ||
| bin | ||
| buzz | ||
| crates | ||
| documentation | ||
| evals/harbor | ||
| examples | ||
| oidc-proxy | ||
| scripts | ||
| services/ask-ai-bot | ||
| ui | ||
| vendor/v8 | ||
| workflow_recipes/release_risk_check | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| .goosehints | ||
| AGENTS.md | ||
| BUILDING_DOCKER.md | ||
| BUILDING_LINUX.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CLAUDE.md | ||
| clippy.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| CUSTOM_DISTROS.md | ||
| deny.toml | ||
| Dockerfile | ||
| download_cli.ps1 | ||
| download_cli.sh | ||
| flake.lock | ||
| flake.nix | ||
| goose-self-test.yaml | ||
| GOVERNANCE.md | ||
| I18N.md | ||
| Justfile | ||
| LICENSE | ||
| MAINTAINERS.md | ||
| MERGE_FIXES.md | ||
| README.md | ||
| release-plz.toml | ||
| RELEASE.md | ||
| RELEASE_CHECKLIST.md | ||
| rust-toolchain.toml | ||
| SECURITY.md | ||
| test_acp_client.py | ||
goose
your native open source AI agent — desktop app, CLI, and API — for code, workflows, and everything in between
goose is a general-purpose AI agent that runs on your machine. Not just for code — use it for research, writing, automation, data analysis, or anything you need to get done.
A native desktop app for macOS, Linux, and Windows. A full CLI for terminal workflows. An API to embed it anywhere. Built in Rust for performance and portability.
goose works with 15+ providers — Anthropic, OpenAI, Google, Ollama, OpenRouter, Azure, Bedrock, and more. Use API keys or your existing Claude, ChatGPT, or Gemini subscriptions via ACP. Connect to 70+ extensions via the Model Context Protocol open standard.
goose is part of the Agentic AI Foundation (AAIF) at the Linux Foundation.
Get started
Download the desktop app for macOS, Linux, and Windows.
Or install the CLI:
curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash
Quick links
- Quickstart
- Installation
- Tutorials
- Documentation
- Governance
- Custom Distributions — build your own goose distro with preconfigured providers, extensions, and branding
Need help?
a little goose humor 🪿
Why did the developer choose goose as their AI agent?
Because it always helps them "migrate" their code to production! 🚀