From Theory Delta | Methodology | Published 2026-03-17
Goose is an open-source AI agent (32K+ stars) that runs locally and uses MCP servers as its extension system. The documentation describes it as a flexible, extensible agent that can be customized for any workflow. Security configuration is available for users who want it.
Every tool in Goose is an MCP server -- there are no built-in tools. This means the MCP security boundary is the only security boundary. And the defaults remove it.
Five default settings interact multiplicatively:
Autonomous mode (no approval prompts). Goose runs in autonomous mode by default. Tool calls execute without user confirmation. This is the outer containment layer -- and it is off.
No extension allowlist. Any MCP server can be added and used. There is no mechanism to restrict which servers are permitted. Combined with autonomous mode, a malicious MCP server gets immediate, unapproved execution.
Injection detection disabled. Goose has prompt injection detection, but it is off by default. An MCP server that returns injection payloads in tool responses will not be flagged.
1000-turn ceiling. The maximum conversation length defaults to 1000 turns. This is not a safety limit -- it is an operational limit. An agent running autonomously with no injection detection has 1000 turns to act before hitting any boundary.
Historical fail-open on corrupted permissions. When the permissions file is corrupted or missing, Goose has historically defaulted to granting full access rather than failing closed. This means a crash or file corruption event can silently escalate permissions.
Each default removes a guardrail that would contain the damage from the others. Autonomous mode without an allowlist means any server runs. No injection detection means malicious servers are not caught. A 1000-turn ceiling means they have time. Fail-open on corruption means even explicit restrictions can be silently removed.
maxTurns to a reasonable limit for your use case (10-50 for most tasks). 1000 turns of autonomous execution is not a safety boundary.| Tool | Version | Result |
|---|---|---|
| Goose Desktop | latest (Mar 2026, 32K+ stars) | Five compounding security defaults confirmed in source and config |
Confidence: validated -- security defaults confirmed through source code review and default configuration analysis. No runtime exploitation was performed; the compounding interaction is assessed architecturally.
Falsification criterion: This claim would be disproved by demonstrating that Goose's default configuration includes at least one of: mandatory user approval for tool calls, an extension allowlist, or enabled injection detection.
Open questions: Has Goose changed any of these defaults in recent releases? Does the Desktop version have different defaults than the CLI? Are there enterprise deployment guides that address these defaults?
Seen different? Contribute your evidence -- theory delta is what makes this knowledge base work.
Tested this tool yourself? Contribute your evidence -- confirmation, contradiction, or a fix.