mcp
Find a file
Dorien Koelemeijer acdade578a
Some checks failed
Unused Dependencies / machete (push) Has been cancelled
fix(recipe): surface recipe command-execution fields in the security scan
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>
2026-09-07 14:22:29 +10:00
.blox Add Blox run target for the ACP server (#11423) 2026-08-24 19:00:32 +00:00
.cargo build: raise default stack reserve to 8 MB (#8234) 2026-04-02 13:54:52 +00:00
.devcontainer fix(devcontainer): install protoc to fix build (#3267) 2025-07-08 05:02:03 +08:00
.github use release-plz to prepare GDK releases (#11820) 2026-09-04 20:34:22 +00:00
.intersect [FEAT] Introduce PR level security scans (#968) 2025-01-31 17:08:12 +11:00
bin use pnpm for Desktop Electron App (#7679) 2026-03-11 12:46:05 +00:00
buzz Add GitHub-to-Buzz issue automation (#11345) 2026-08-26 21:29:34 +00:00
crates fix(recipe): surface recipe command-execution fields in the security scan 2026-09-07 14:22:29 +10:00
documentation use release-plz to prepare GDK releases (#11820) 2026-09-04 20:34:22 +00:00
evals/harbor fix(harbor): rename compare_tasks skill to a spec-valid name (#11068) 2026-08-12 08:31:36 +00:00
examples Clean up obsolete extension paths before redesigning the extension manager (#11645) 2026-08-28 15:10:23 +00:00
oidc-proxy fix(oidc-proxy): enforce exp independently of MAX_TOKEN_AGE_SECONDS (#8832) (#8839) 2026-05-12 23:41:10 +00:00
scripts acp: publish goose ACP client and acp binary as separate npm packages (#11846) 2026-09-04 15:14:36 +00:00
services/ask-ai-bot feat: allow askai bot to read issues and PRs (#10398) 2026-07-11 23:07:17 +00:00
ui fix(recipe): surface recipe command-execution fields in the security scan 2026-09-07 14:22:29 +10:00
vendor/v8 Fix Windows MSVC linking issues (#7511) 2026-02-25 22:59:32 +00:00
workflow_recipes/release_risk_check chore: Remove stale crates/goose-server and update docs (#10224) 2026-07-07 23:45:18 +00:00
.dockerignore Add Docker support for Goose in CI/CD pipelines (#4434) 2025-09-03 10:14:41 -04:00
.gitattributes Some system prompt tidying (#5313) 2025-10-24 20:22:27 -04:00
.gitignore acp: publish goose ACP client and acp binary as separate npm packages (#11846) 2026-09-04 15:14:36 +00:00
.goosehints fix: outdated clippy command in goosehints (#7590) 2026-02-28 12:47:39 +00:00
AGENTS.md docs: stop enumerating crates in AGENTS.md Structure (#11614) 2026-08-28 17:43:47 +00:00
BUILDING_DOCKER.md chore(aaif): rename a bunch of repository references (#8152) 2026-04-07 15:34:48 +10:00
BUILDING_LINUX.md feat(installer): detect Termux and select musl portable build (#10568) 2026-08-05 10:16:23 -04:00
Cargo.lock prefer latest MCP version (#11827) 2026-09-04 20:41:18 +00:00
Cargo.toml prefer latest MCP version (#11827) 2026-09-04 20:41:18 +00:00
CLAUDE.md agents: add CLAUDE.mds to mirror AGENTS.mds (#9029) 2026-05-05 18:53:52 +00:00
clippy.toml Remove clippy too_many_lines lint and decompose long functions (#7064) 2026-02-07 04:10:24 +00:00
CODE_OF_CONDUCT.md docs: add Code of Conduct (#10424) 2026-07-14 17:32:21 +00:00
CONTRIBUTING.md Unrolled agent loop (#9574) 2026-08-06 22:32:44 +00:00
CUSTOM_DISTROS.md doc (acp): move acp reference under GDK section (#11805) 2026-09-03 03:56:32 +00:00
deny.toml Disable thinking for tool call labels (#11207) 2026-08-19 23:23:18 +00:00
Dockerfile chore(aaif): rename a bunch of repository references (#8152) 2026-04-07 15:34:48 +10:00
download_cli.ps1 Add Windows CUDA release artifacts (#8750) 2026-04-27 19:51:11 +00:00
download_cli.sh feat(installer): detect Termux and select musl portable build (#10568) 2026-08-05 10:16:23 -04:00
flake.lock Set up direnv and update flake inputs (#6526) 2026-02-17 15:26:04 +00:00
flake.nix fix(flake): add cudaforge hash for git dependency (#10910) 2026-08-20 06:12:56 +00:00
goose-self-test.yaml feat(gdk): let Kotlin callers configure the Databricks AI Gateway path (#11631) 2026-09-02 19:46:33 +00:00
GOVERNANCE.md chore(aaif): rename a bunch of repository references (#8152) 2026-04-07 15:34:48 +10:00
I18N.md feat(i18n): language selection feature (#9405) 2026-06-17 00:40:38 +00:00
Justfile acp: publish goose ACP client and acp binary as separate npm packages (#11846) 2026-09-04 15:14:36 +00:00
LICENSE chore: Update LICENSE (#53) 2024-09-09 14:56:30 -04:00
MAINTAINERS.md bring MAINTAINERS.md up to date (#9053) 2026-05-06 14:56:44 +00:00
MERGE_FIXES.md Unrolled agent loop (#9574) 2026-08-06 22:32:44 +00:00
README.md docs: update Discord invite (#10863) 2026-07-31 22:49:19 +00:00
release-plz.toml use release-plz to prepare GDK releases (#11820) 2026-09-04 20:34:22 +00:00
RELEASE.md chore(aaif): rename a bunch of repository references (#8152) 2026-04-07 15:34:48 +10:00
RELEASE_CHECKLIST.md Update release testing instructions (#10122) 2026-07-01 14:18:06 +00:00
rust-toolchain.toml Update Rust toolchain and raise recursion limit (#10303) 2026-07-07 22:41:04 +00:00
SECURITY.md chore(aaif): rename a bunch of repository references (#8152) 2026-04-07 15:34:48 +10:00
test_acp_client.py feat(acp): support loading sessions in acp (#5942) 2025-12-02 05:20:21 -06:00

goose

your native open source AI agent — desktop app, CLI, and API — for code, workflows, and everything in between

Discord CI Packaging status

aaif-goose%2Fgoose | Trendshift

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

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! 🚀

goose around with us