[{"data":1,"prerenderedAt":614},["ShallowReactive",2],{"blog-goose-block-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":13,"about":22,"sources":29,"cover":57,"og":58,"expertise":59,"locales":60,"lang":62,"title":64,"description":65,"coverAlt":66,"metaTitle":67,"takeaways":68,"faq":74,"toc":87,"blocks":112,"others":345},"goose-block","2026-07-17",10,"agents",[9,10,11,12],"Coding agent","MCP","Local models","Open source",[14,15,16,17,18,19,20,21],"goose ai agent","goose vs claude code","block goose open source agent","goose mcp extensions","goose recipes","local first ai agent","goose permission modes","agentic ai foundation",[23,26],{"name":24,"url":25},"Model Context Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_Context_Protocol",{"name":27,"url":28},"goose documentation","https:\u002F\u002Fgoose-docs.ai\u002F",[30,33,36,39,42,45,48,51,54],{"title":31,"url":32},"goose documentation: quickstart","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fquickstart",{"title":34,"url":35},"goose documentation: configuration files","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fguides\u002Fconfig-files",{"title":37,"url":38},"goose documentation: permission modes","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fguides\u002Fmanaging-tools\u002Fgoose-permissions",{"title":40,"url":41},"goose documentation: smart context management","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fguides\u002Fsessions\u002Fsmart-context-management",{"title":43,"url":44},"goose documentation: recipe reference","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fguides\u002Frecipes\u002Frecipe-reference",{"title":46,"url":47},"goose documentation: CLI commands","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Fguides\u002Fgoose-cli-commands",{"title":49,"url":50},"goose documentation: known issues","https:\u002F\u002Fgoose-docs.ai\u002Fdocs\u002Ftroubleshooting\u002Fknown-issues",{"title":52,"url":53},"goose has a new home: the Agentic AI Foundation (7 April 2026)","https:\u002F\u002Fgoose-docs.ai\u002Fblog\u002F2026\u002F04\u002F07\u002Fgoose-moves-to-aaif\u002F",{"title":55,"url":56},"goose repository on GitHub","https:\u002F\u002Fgithub.com\u002Faaif-goose\u002Fgoose","\u002Fimages\u002Fblog\u002Fgoose-block\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fgoose-block\u002Fog.jpg","ai-engineer",[61,62,63],"en","de","hu","Goose: der quelloffene Agent, den man auf dem eigenen Rechner ausführt","Goose ist ein in Rust geschriebener Coding-Agent unter Apache-2.0, inzwischen bei der Linux Foundation. Wie seine Berechtigungsmodi, Rezepte und MCP-Erweiterungen gegen kommerzielle Werkzeuge bestehen.","Eine breite Kiste mit Dreieck als Dach über einem kleinen Quadrat, eine Karte gleitet in die Seite.","Goose-Test: der quelloffene Agent zum Ausführen · Balázs Csorba",[69,70,71,72,73],"Goose ist ein in Rust geschriebener Coding-Agent unter Apache-2.0, im Januar 2025 von Block veröffentlicht und im Dezember 2025 an die Agentic AI Foundation der Linux Foundation gespendet, governance liegt also nicht mehr beim ursprünglichen Sponsor.","Fähigkeiten sind eine Konfigurationsentscheidung: Die Werkzeuge einer Session sind die für sie aktivierten MCP-Erweiterungen, pro Erweiterung über eine available_tools-Liste einschränkbar.","Es gibt vier Berechtigungsmodi, und das unrestriktivste, vollständig autonome, ist der Standard, eine frische Installation ändert und löscht also Dateien ohne Nachfrage.","Rezepte sind versioniertes YAML mit Parametern, Retries und einer maschinell prüfbaren Erfolgskontrolle, wodurch ein wiederholbarer Agent-Workflow etwas Versionierbares und Planbares wird statt eines abzutippenden Prompts.","Die Betriebslast ist real: Die meisten externen Erweiterungen brauchen npx oder uvx auf dem Rechner, Dev-Server hängen Sessions bis zum Tool-Timeout, und die Doku rät, eine festhängende Session zu beenden und neu zu starten.",[75,78,81,84],{"q":76,"a":77},"Ist goose noch ein Block-Projekt?","Nein. Block hat goose im Dezember 2025 an die Agentic AI Foundation der Linux Foundation gespendet, zusammen mit dem Model Context Protocol von Anthropic und der AGENTS.md von OpenAI; die Verlagerung wurde am 7. April 2026 angekündigt. Das Repository zog außerdem von block\u002Fgoose nach aaif-goose\u002Fgoose, geklonte Repositories brauchen also ein neues Remote.",{"q":79,"a":80},"Kann goose mein bestehendes ChatGPT- oder Claude-Abonnement nutzen?","Ja, über das Agent Client Protocol. Der Schnellstart bietet eine ChatGPT-Abo-Option an, die sich mit vorhandenen Zugangsdaten bei den Codex-Modellen anmeldet, daneben reine API-Schlüssel, OpenRouter, ein Drittanbieter-Agent-Router und lokale Ollama-Modelle.",{"q":82,"a":83},"Was unterscheidet Rezepte von Unterrezepten?","Ein Rezept ist eine wiederverwendbare YAML-Einheit mit Anweisungen, Erweiterungen, Parametern und Einstellungen. Ein Unterrezept ist eines, das ein anderes Rezept als Werkzeug aufruft: Es läuft in einer eigenen Session mit eigenem Kontext ohne gemeinsamen Speicher und kann selbst keine Unterrezepte definieren. Die Dokumentation bezeichnet das Feature noch als experimentell.",{"q":85,"a":86},"Wie verhindere ich, dass goose Dateien ändert, die es nicht soll?","Den Berechtigungsmodus aus dem autonomen Modus nehmen. Die manuelle Freigabe fragt vor jedem Werkzeug, die smarte Freigabe gibt niedrige Risiken automatisch frei und fragt bei allem anderen, und der reine Chat-Modus blockiert Werkzeuge ganz. In beiden Freigabemodi gelten granulare Werkzeugrechte, und GOOSE_MAX_TURNS begrenzt die unbeaufsichtigten Runden.",[88,91,94,97,100,103,106,109],{"id":89,"title":90},"what-it-is","Was goose ist",{"id":92,"title":93},"how-it-works","Wie es funktioniert",{"id":95,"title":96},"context-and-cost","Kontext, Runden und Kosten",{"id":98,"title":99},"extensions-and-recipes","Erweiterungen und Rezepte",{"id":101,"title":102},"permissions-and-autonomy","Berechtigungen und Autonomie",{"id":104,"title":105},"where-it-shingles","Wo es knirscht",{"id":107,"title":108},"verdict","Fazit",{"id":110,"title":111},"sources","Quellen",[113,117,120,123,126,129,147,148,151,157,160,163,170,171,174,184,187,188,191,193,196,197,200,210,217,218,221,277,280,283,284,287,299,305,306],{"type":114,"content":115},"paragraph",[116],"Goose ist ein quelloffener Coding-Agent, der auf dem Rechner der Entwickelnden läuft und nicht in der Cloud eines Anbieters. Er erscheint als Desktop-App für macOS, Linux und Windows, als vollständige CLI und als einbettbare API, und er ist in Rust geschrieben. Block hat ihn im Januar 2025 öffentlich herausgebracht und im Dezember 2025 an die Agentic AI Foundation der Linux Foundation gespendet, gemeinsam mit dem Model Context Protocol von Anthropic und der AGENTS.md von OpenAI. Das Projekt wird also von einer Stiftung geführt und nicht mehr von dem Unternehmen, das es begonnen hat.",{"type":114,"content":118},[119],"Nicht_commodity ist hier das Erweiterungsmodell. Goose erreicht die Außenwelt über Model-Context-Protocol-Server, und die Werkzeuge einer Session sind die dafür aktivierten Erweiterungen. Die Fähigkeitsfläche eines Agenten ist damit eine Konfigurationsentscheidung und keine Eigenschaft der Binärdatei, was eine deutlich andere Form ist als ein Agent mit fest eingebautem Werkzeugsatz.",{"type":114,"content":121},[122],"Die Position nach der Lektüre der Dokumentation: Das ist ein ernstzunehmender, gut dokumentierter Agent, der den kommerziellen Spitzenreitern an Politur und an Aufgabenqualität nachsteht und gewinnt, weil sich jedes Teil von ihm einsehen, forken und weiterverbreiten lässt, auch das Format, in dem seine Arbeitsabläufe geschrieben sind. Am überzeugendsten ist er als Plattform, um Agentenverhalten über eine Flotte hinweg zu vereinheitlichen, am wenigsten als tägliche Einzelbegleitung, wenn ohnehin ein kommerzielles Werkzeug mit besserer Autovervollständigung lizenziert ist.",{"type":124,"level":125,"id":89,"text":90},"heading",2,{"type":114,"content":127},[128],"Zwei Oberflächen auf einem Kern. Die Desktop-App ist die zugängliche Hälfte, die CLI die skriptfähige; beide steuern dieselbe Sitzungslogik, dieselbe Konfigurationsdatei und dieselbe Erweiterungsliste. Das Repository steht unter Apache-2.0 und zeigt rund 55.000 Sterne und 6.400 Forks.",{"type":130,"ordered":131,"items":132},"list",false,[133,135,137,139,141,143,145],[134],"Unter Apache-2.0 und in Rust geschrieben, veröffentlicht als signierte Release-Artefakte und als Einzeiler-Installationsskript für die CLI.",[136],"Mehr als 15 LLM-Anbieter, darunter Anthropic, OpenAI, Google, Azure, Bedrock, OpenRouter und Ollama, per API-Schlüssel oder bestehendem Abo über ACP.",[138],"Mehr als 70 Erweiterungen über MCP, in vier Typen: stdio, builtin, platform und streamable HTTP.",[140],"Vier Berechtigungsmodi, vom vollständig autonomen bis zum reinen Chat, pro Sitzung wählbar und mit granularen Werkzeugrechten obendrauf.",[142],"Rezepte: versionierte YAML-Dateien, die Anweisungen, Erweiterungen, Parameter, Einstellungen, Retries und ein JSON-Antwortschema zu einer prüfbaren Einheit bündeln.",[144],"Automatische Kompaktierung bei 80 Prozent des Kontextfensters, Zusammenfassung von Werkzeugausgaben und eine harte Rundengrenze mit Standardwert 1000.",[146],"Ein Scheduler, ein ACP-Server für Editoren wie Zed, ein eingebauter Review-Befehl und dokumentierte Unterstützung für ein eigenes gebrandetes Build.",{"type":124,"level":125,"id":92,"text":93},{"type":114,"content":149},[150],"Die Schleife ist die übliche: Kontext senden, Nachricht empfangen, und wenn sie einen Werkzeugaufruf enthält, das Werkzeug ausführen und das Ergebnis in den nächsten Zug geben. Was goose um diese Schleife herum ergänzt, ist Buchführung. Tokenzählung, Kompaktierung, Rundengrenze, Kostenschätzung und ein Berechtigungstor liegen alle zwischen Modell und Dateisystem, und jedes davon ist eine Einstellung und kein im Binary versteckter Heuristikwert.",{"type":152,"src":153,"alt":154,"wide":155,"caption":156},"image","\u002Fimages\u002Fblog\u002Fgoose-block\u002Fdiagram-8.webp","Die goose-Agentenschleife Eine Eingabe erreicht den goose-Kern, der ein Modell aufruft, einen Werkzeugaufruf erhält, ihn über eine MCP-Erweiterung ausführt und zur Eingabe zurückkehrt. Drei Regeln gelten in jeder Runde: der Berechtigungsmodus, die maximale Rundenzahl und die automatische Kontextkompaktierung.",true,"Die Agentenschleife ist der commodity Teil. Die drei Regeln darunter sind der Unterschied: Jede ist eine explizite Einstellung, die entscheidet, wie weit der Agent unbeaufsichtigt gehen darf.",{"type":114,"content":158},[159],"Sitzungen sind eine durchgehende Unterhaltung. Eine Tokenanzeige zeigt den belegten Anteil am verfügbaren Fenster, und sobald die Kompaktierungsschwelle erreicht ist, wird der ältere Teil zusammengefasst, während die vorherigen Nachrichten sichtbar bleiben. Das ist ein vernünftiges Design, und es bedeutet, dass eine lange Sitzung an Genauigkeit verliert, lange bevor sie ausfällt.",{"type":161,"code":162},"code","# CLI installieren (macOS, Linux), dann einen Anbieter wählen\ncurl -fsSL https:\u002F\u002Fgithub.com\u002Faaif-goose\u002Fgoose\u002Freleases\u002Fdownload\u002Fstable\u002Fdownload_cli.sh | bash\ngoose configure\n\n# Sitzung in einem Repository starten, mit Rundengrenze\ncd ~\u002Fcode\u002Fmy-service\ngoose session --max-turns 25 --with-builtin developer\n\n# unbeaufsichtigt: ein Rezept ausführen, nur die Antwort ausgeben\ngoose run --recipe release-check.yaml --params env=staging --quiet\n\n# welcher Anbieter, welches Modell, welche Erweiterungen\ngoose info --verbose",{"type":114,"content":164},[165,166,169],"Die Anbietereinstellungen liegen in einer YAML-Konfigurationsdatei, Geheimnisse standardmäßig im System-Schlüsselbund. ",{"tag":161,"children":167},[168],"GOOSE_DISABLE_KEYRING"," erzwingt Dateispeicherung, wie die Dokumentation es für Container und kopfloses Linux ohne Schlüsselbund vorschreibt. Seit Version 1.10.0 liegen Sitzungen in einer SQLite-Datenbank statt in einer Sammlung von JSONL-Dateien, Sicherung und Migration sind also ein Datenbankproblem.",{"type":124,"level":125,"id":95,"text":96},{"type":114,"content":172},[173],"Drei Einstellungen entscheiden, wie lange eine Sitzung läuft und was sie kostet, und alle drei sind einfache Konfigurationsschlüssel statt versteckten Verhaltens. Die Dokumentation schlägt sogar Werte je Art von Arbeit vor, was ungewöhnlich und nützlich ist.",{"type":130,"ordered":131,"items":175},[176,178,180,182],[177],"Schwelle der automatischen Kompaktierung, Standard 0.8, also der Anteil des Kontextfensters, ab dem alte Züge zusammengefasst werden; 0.0 schaltet sie ab.",[179],"Maximale Runden ohne menschliche Eingabe, Standard 1000. Am Limit hält der Agent an und fragt. Die Dokumentation nennt 5 bis 10 für Erkundungsarbeit und 100 oder mehr für eine Migration.",[181],"Lebensdauer des Prompt-Caches bei Anthropic, Standard 5 Minuten oder 1 Stunde, um den gecachten Präfix über Pausen hinweg mit höherer Cache-Schreibrate am Leben zu halten.",[183],"Eine Kostenschätzung je Sitzung, kalkuliert aus dem OpenRouter-Katalog und lokal zwischengespeichert. Die Dokumentation stellt klar, dass das eine Schätzung nach öffentlichen Preisen ist und keine Rechnung.",{"type":114,"content":185},[186],"Kontextlimits werden aus einer expliziten Vorgabe, dann aus deklarativer Anbieterkonfiguration, dann aus Laufzeitermittlung, dann aus Modellmetadaten und zuletzt aus einem Standard von 128.000 Tokens aufgelöst. Jener letzte Fallback ist wichtig, wenn goose auf ein Gateway mit eigenem Modellnamen zeigt: Die Anzeige nennt die falsche Zahl, bis das Limit ausdrücklich gesetzt wird, eine kleine Falle für alle, die es hinter einem Proxy betreiben.",{"type":124,"level":125,"id":98,"text":99},{"type":114,"content":189},[190],"Eine Erweiterung ist ein MCP-Server mit einem Namen, einem Befehl, einem Timeout und einer optionalen Liste der Werkzeuge, die er anbieten darf. Diese Liste ist die praktisch wichtigste Einstellung: Jedes sichtbare Werkzeug ist eine Entscheidung, die das Modell in jedem Zug richtig treffen muss, und die Liste zu verengen ist billiger als ein besserer Prompt.",{"type":161,"code":192},"version: \"1.0.0\"\ntitle: \"Release-Risiko-Prüfung\"\ndescription: \"Branch gegen eine Basis vergleichen und Risiko berichten\"\nparameters:\n  - key: base\n    input_type: string\n    requirement: required\n    description: \"Branch, gegen den verglichen wird\"\nprompt: |\n  Vergleiche diesen Branch mit {{ base }} und fasse das\n  Verhaltensrisiko nach Auslieferungsreihenfolge zusammen.\n\nextensions:\n  - type: builtin\n    name: developer\n    timeout: 300\n  - type: stdio\n    name: github\n    cmd: npx\n    args: [\"-y\", \"@modelcontextprotocol\u002Fserver-github\"]\n    env_keys: [GITHUB_PERSONAL_ACCESS_TOKEN]\n    available_tools: [get_file_contents, search_code]\n\nsettings:\n  goose_provider: anthropic\n  temperature: 0.2\n  max_turns: 40\n\nretry:\n  max_retries: 2\n  timeout_seconds: 30\n  checks:\n    - type: shell\n      command: \"test -f RISK.md\"",{"type":114,"content":194},[195],"Das ist die Form, die sich lohnt zu kopieren. Ein Rezept ist prüfbares YAML mit einer Validierungs-Erfolgskontrolle, ein geplanter Job kann also so lange wiederholt werden, bis er etwas Prüfbares erzeugt, statt blind neu zu starten, und die Validierung lehnt eine Template-Variable ohne passende Parameterdefinition ab. Unterrezepte setzen sich genauso zusammen, wobei das Elternrezept seine Werte auf die Kinder abbildet, allerdings bezeichnet die Dokumentation dieses Feature noch als experimentell und weist darauf hin, dass Unterrezepte in isolierten Sitzungen ohne gemeinsamen Speicher laufen.",{"type":124,"level":125,"id":101,"text":102},{"type":114,"content":198},[199],"Berechtigung ist die gesamte Sicherheitsgeschichte, und der Standard ist die weitgehendste vorhandene Einstellung. Es gibt vier Modi, und jede Sitzung wählt ihren eigenen.",{"type":130,"ordered":131,"items":201},[202,204,206,208],[203],"Autonom: ändert Dateien, nutzt Erweiterungen und löscht Dateien ohne Freigabe. Das ist der Standard.",[205],"Manuelle Freigabe: fragt vor jedem Werkzeug und beachtet die granulare Liste der Werkzeugrechte.",[207],"Smarte Freigabe: gibt automatisch frei, was als geringes Risiko eingeschätzt wird, und fragt beim Rest. Die Einstufung nimmt der Modellanbieter vor, ist also ein Vorschlag und keine Kontrolle.",[209],"Nur Chat: verbietet Erweiterungen und Dateiänderungen, für Analyse, Schreiben und Argumentieren.",{"type":211,"variant":212,"title":213,"body":214},"callout","warn","Lesewerkzeuge laufen ohne Nachfrage",[215],[216],"In beiden Freigabemodi fragt goose nur bei Werkzeugen, die es als Schreiboperation einstuft, etwa Texteditor-Schreib- und Änderungsoperationen sowie Shell-Aufrufe von rm, cp und mv. Lesezugriffe laufen unbeaufsichtigt, und die Einstufung ist selbst eine Modellschlussfolgerung, die in beide Richtungen falsch sein kann. In einem Checkout mit echter Historie sollte die smarte Freigabe eine Erleichterung über der manuellen sein, nicht deren Ersatz.",{"type":124,"level":125,"id":104,"text":105},{"type":114,"content":219},[220],"Die Lücken sind praktisch, nicht architektonisch. Die meisten externen Erweiterungen starten über npx oder uvx, der Agent hängt also stillschweigend an Node.js oder einer Python-Werkzeugkette. Er startet Entwicklungserver, um die niemand gebeten hat, und die beenden sich nie, sodass die Sitzung bis zum Tool-Timeout hängt. Erweiterungen laden ihre Laufzeiten über eine mitgelieferte Kopie von Hermit, was in einem abgeschotteten Netzwerk scheitert, sofern die Shims nicht umbenannt werden. Unter Windows erwartet die Installation Node.js an einem festen Pfad, und das dokumentierte Mittel ist eine symbolische Verknüpfung. Und die Seite zu bekannten Problemen rät, die Sitzung zu beenden und eine neue zu starten, wenn der Agent nicht mehr reagiert, was ehrlich, aber keine Lösung ist.",{"type":222,"head":223,"rows":232},"table",[224,226,228,230],[225],"",[227],"goose",[229],"Claude Code",[231],"OpenHands",[233,242,251,259,268],[234,236,238,240],[235],"Wo es läuft",[237],"Desktop, CLI oder eingebettete API",[239],"Nur Terminal",[241],"Lokal oder Docker, mit Web-Oberfläche",[243,245,247,249],[244],"Lizenz",[246],"Apache-2.0",[248],"Proprietär",[250],"Quelloffen",[252,254,256,258],[253],"Werkzeuge",[255],"MCP-Erweiterungen, die Sie aktivieren",[257],"Eingebaut, plus MCP",[257],[260,262,264,266],[261],"Modellwahl",[263],"15+ Anbieter oder eigenes Gateway",[265],"Nur Anthropic",[267],"Eigener Schlüssel",[269,271,273,275],[270],"Schwächste Stelle",[272],"Eine Laufzeit auf jedem Rechner",[274],"Ein Anbieter, eine Preisliste",[276],"Schwerere Laufzeit als eine CLI",{"type":114,"content":278},[279],"Der Tausch gegen die kommerziellen Werkzeuge ist eindeutig. Claude Code ist der bessere tägliche Begleiter: Es startet schneller, die Modellqualität ist der Grund, warum Leute bleiben, und sein Berechtigungsmodell kommt vom Anbieter, statt vom Modell erschlossen zu werden. OpenHands gewinnt genau dort, wo goose am schwächsten ist, indem es Agentenarbeit in einer Sandbox laufen lässt, in der das Ergebnis inspected werden kann, um den Preis einer schwereren Laufzeit. Goose gewinnt die beiden Dinge, die für ein Plattformteam zählen: eine Lizenz, die Forking erlaubt, und ein deklaratives Format mit einer Allowlist je Rezept, das über eine ganze Flotte durchsetzbar ist.",{"type":114,"content":281},[282],"Die zweite strukturelle Lücke ist Sicherheitstiefe. Es gibt eine Prompt-Injection-Erkennung mit einstellbarer Schwelle und einen Adversary-Modus, der einen getrennten Prüfagenten über die Werkzeugaufrufe laufen lässt, eine interessante Idee und für sich allein keine Kontrolle. Lesewerkzeuge laufen standardmäßig ohne Freigabe, und Erweiterungen laufen mit den Rechten und Anmeldedaten der Entwickelnden.",{"type":124,"level":125,"id":107,"text":108},{"type":114,"content":285},[286],"Goose ist eine glaubwürdige Voreinstellung für ein Team, das seinen Agenten-Stack selbst besitzen will, und ein schlechter Ersatz für einen gut konfigurierten kommerziellen Agenten auf einem Laptop. Der eigentliche Beitrag ist nicht die Coding-Schleife, die Ware, sondern die Kombination aus einer stiftungeigenen Lizenz, einer deklarativen Erweiterungs-Allowlist und einem Rezeptformat mit maschinell prüfbaren Erfolgskriterien. Das ist die Ebene, die Organisationen immer wieder schlecht auf jemand anders Agent nachbauen.",{"type":130,"ordered":155,"items":288},[289,291,293,295,297],[290],"Nimm es, wenn Agenten auf Rechnern laufen müssen, die du nicht kontrollierst, oder dort, wo Code das Netzwerk nicht verlassen darf. Binärdatei und Dokumentation lassen sich beide für den abgeschotteten Betrieb paketieren.",[292],"Nimm es, um Verhalten über eine Flotte zu vereinheitlichen. Erweiterungs-Allowlist je Rezept und Berechtigungsmodus sind der Mechanismus, die Rezeptdatei ist das versionierte Artefakt.",[294],"Nimm es als zweite Meinung. Dieselbe Aufgabe mit zwei Agenten und verschiedenen Werkzeugen zu prüfen und die Diffs zu vergleichen ist billig, wenn beide kostenlos laufen.",[296],"Nimm es nicht als ersten Agenten für eine Entwicklerin. Die Installation ist ein Skript und die erste Sitzung braucht einen Anbieterschlüssel, die Einrichtung landet also bei dem, der am wenigsten Zeit dafür hat.",[298],"Stelle ein funktionierendes kommerzielles Werkzeug nicht darauf um. Bei der Aufgabenqualität liegen die Führenden weiter vorn und das Ökosystem darum ist tiefer.",{"type":211,"variant":300,"title":301,"body":302},"tip","Egal welche Wahl",[303],[304],"Rundenlimit setzen und den Arbeitsbaum committen. Das dokumentierte Mittel gegen eine festhängende Sitzung ist eine neue zu starten, und das tut nur dann nicht weh, wenn die vorherigen Änderungen schon in git lagen.",{"type":124,"level":125,"id":110,"text":111},{"type":130,"ordered":155,"items":307},[308,313,317,321,325,329,333,337,341],[309],{"tag":310,"href":32,"children":311},"a",[312],"goose-Dokumentation: Schnellstart",[314],{"tag":310,"href":35,"children":315},[316],"goose-Dokumentation: Konfigurationsdateien",[318],{"tag":310,"href":38,"children":319},[320],"goose-Dokumentation: Berechtigungsmodi",[322],{"tag":310,"href":41,"children":323},[324],"goose-Dokumentation: intelligente Kontextverwaltung",[326],{"tag":310,"href":44,"children":327},[328],"goose-Dokumentation: Rezeptreferenz",[330],{"tag":310,"href":47,"children":331},[332],"goose-Dokumentation: CLI-Befehle",[334],{"tag":310,"href":50,"children":335},[336],"goose-Dokumentation: bekannte Probleme",[338],{"tag":310,"href":53,"children":339},[340],"goose hat ein neues Zuhause: die Agentic AI Foundation (7. April 2026)",[342],{"tag":310,"href":56,"children":343},[344],"goose-Repository auf GitHub",[346,403,476,546],{"slug":347,"published":348,"minutes":349,"category":7,"tags":350,"keywords":355,"about":366,"sources":375,"cover":397,"og":398,"expertise":59,"locales":399,"lang":62,"title":400,"description":401,"coverAlt":402},"agent-tool-design-descriptions-errors","2026-10-17",11,[351,352,353,10,354],"AI agents","Tool use","Function calling","Agent design",[356,357,358,359,360,361,362,363,364,365],"agent tool design","writing tool descriptions for llm","function calling best practices","tool use error handling","mcp tool design","tool calling is_error","how many tools should an agent have","tool search defer_loading","agent computer interface","llm tool schema design",[367,370,372],{"name":368,"url":369},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",{"name":24,"url":371},"https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"name":373,"url":374},"Poka-yoke","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPoka-yoke",[376,379,382,385,388,391,394],{"title":377,"url":378},"Anthropic Engineering: Writing effective tools for agents, with agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fwriting-tools-for-agents",{"title":380,"url":381},"Anthropic Engineering: Building effective agents (Dec 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents",{"title":383,"url":384},"Claude Platform Docs: Define tools","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fdefine-tools",{"title":386,"url":387},"Claude Platform Docs: Handle tool calls","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fhandle-tool-calls",{"title":389,"url":390},"Claude Platform Docs: Tool search tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Ftool-search-tool",{"title":392,"url":393},"Model Context Protocol specification 2025-11-25: Tools","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fserver\u002Ftools",{"title":395,"url":396},"OpenAI API Docs: Function calling","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ffunction-calling","\u002Fimages\u002Fblog\u002Fagent-tool-design-descriptions-errors\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fagent-tool-design-descriptions-errors\u002Fog.jpg",[61,62,63],"Tools für KI-Agenten gestalten: Namen, Beschreibungen, Schemas und Fehlermeldungen","Agent-Tools, die richtig gewählt und aufgerufen werden: aufgabenorientierte Tools, Beschreibungen, Schemas, kompakte Antworten und verwertbare Fehlermeldungen.","Ein Sockel mit drei Schlitzen; über dem mittleren steht ein passend breiter Block, daneben zwei Blöcke falscher Breite.",{"slug":404,"published":348,"minutes":349,"category":7,"tags":405,"keywords":411,"about":424,"sources":434,"cover":470,"og":471,"expertise":59,"locales":472,"lang":62,"title":473,"description":474,"coverAlt":475},"coding-agents-legacy-codebase-migration",[406,407,408,409,410],"Legacy migration","Coding agents","Strangler fig","Testing","Code review",[412,413,414,415,416,417,418,419,420,421,422,423],"legacy code migration ai","coding agent legacy codebase","strangler fig pattern ai","characterization tests legacy code","ai code migration review","agent assisted refactoring","legacy modernization coding agent","differential testing migration","shadow traffic migration","ai code review gate","test harness before migration","llm code migration",[425,428,431],{"name":426,"url":427},"Legacy code","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLegacy_code",{"name":429,"url":430},"Characterization test","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCharacterization_test",{"name":432,"url":433},"Strangler fig pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStrangler_fig_pattern",[435,438,440,443,446,449,452,455,458,461,464,467],{"title":436,"url":437},"Martin Fowler: Strangler Fig (2024)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FStranglerFigApplication.html",{"title":439,"url":430},"Wikipedia: Characterization test",{"title":441,"url":442},"Google Research: Accelerating code migrations with AI (2024)","https:\u002F\u002Fresearch.google\u002Fblog\u002Faccelerating-code-migrations-with-ai\u002F",{"title":444,"url":445},"Ziftci et al.: Migrating Code At Scale With LLMs At Google (arXiv 2504.09691)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.09691",{"title":447,"url":448},"Anthropic: Effective harnesses for long-running agents (2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents",{"title":450,"url":451},"Anthropic: Redesigning source control at Anthropic (2026)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fredesigning-source-control",{"title":453,"url":454},"METR: Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity","https:\u002F\u002Fmetr.org\u002Fblog\u002F2025-07-10-early-2025-ai-experienced-os-dev-study\u002F",{"title":456,"url":457},"Chand et al.: Why Industry Migrates and When It Trusts LLMs (ESEM 2026)","https:\u002F\u002Fdrops.dagstuhl.de\u002Fentities\u002Fdocument\u002F10.4230\u002FLIPIcs.ESEM.2026.85",{"title":459,"url":460},"Li et al.: Environment-in-the-Loop: Rethinking Code Migration with LLM-based Agents (arXiv 2602.09944)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2602.09944",{"title":462,"url":463},"AWS: Amazon Q Developer just reached a $260 million dollar milestone (2024)","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdevops\u002Famazon-q-developer-just-reached-a-260-million-dollar-milestone\u002F",{"title":465,"url":466},"OpenAI: Why SWE-bench Verified no longer measures frontier coding capabilities (2026)","https:\u002F\u002Fopenai.com\u002Findex\u002Fwhy-we-no-longer-evaluate-swe-bench-verified\u002F",{"title":468,"url":469},"GitHub Docs: About GitHub Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcoding-agent\u002Fabout-coding-agent","\u002Fimages\u002Fblog\u002Fcoding-agents-legacy-codebase-migration\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcoding-agents-legacy-codebase-migration\u002Fog.jpg",[61,62,63],"Legacy-Codebase mit Coding-Agenten migrieren: ein Strangler-Fig-Playbook","Wie Coding-Agenten eine Legacy-Migration tragen: Characterization-Tests zuerst, ein Seam pro Task, Review-Gates und differentielle Verifikation.","Ein Stapel Schichten, bei dem die obersten zwei durch neue ersetzt werden, daneben eine Naht und ein Haken.",{"slug":477,"published":348,"minutes":478,"category":7,"tags":479,"keywords":483,"about":495,"sources":505,"cover":540,"og":541,"expertise":59,"locales":542,"lang":62,"title":543,"description":544,"coverAlt":545},"background-agents-async-pr-workflow",12,[407,480,481,410,482],"Pull requests","CI","Automation",[484,485,486,487,488,489,490,491,492,493,494],"background coding agent","async coding agent","cloud coding agent pull request","copilot coding agent limits","codex cloud tasks","claude code cloud sessions","jules coding agent limits","agent pull request review","coding agent sandbox","agent CI gating","cost per merged pull request",[496,499,502],{"name":497,"url":498},"Software agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_agent",{"name":500,"url":501},"Pull request","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDistributed_version_control",{"name":503,"url":504},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[506,507,510,513,516,519,522,525,528,531,534,537],{"title":468,"url":469},{"title":508,"url":509},"GitHub Docs: Risks and mitigations for Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcloud-agent\u002Frisks-and-mitigations",{"title":511,"url":512},"OpenAI Developers: Codex cloud environments","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcloud\u002Fenvironments",{"title":514,"url":515},"Anthropic: Use Claude Code in the cloud","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fclaude-code-on-the-web",{"title":517,"url":518},"Google Jules: Limits and plans","https:\u002F\u002Fjules.google\u002Fdocs\u002Fusage-limits\u002F",{"title":520,"url":521},"Google Jules: Getting started","https:\u002F\u002Fjules.google\u002Fdocs\u002F",{"title":523,"url":524},"GitHub Docs: About protected branches","https:\u002F\u002Fdocs.github.com\u002Fen\u002Frepositories\u002Fconfiguring-branches-and-merges-in-your-repository\u002Fmanaging-protected-branches\u002Fabout-protected-branches",{"title":526,"url":527},"GitHub Docs: Models and pricing for GitHub Copilot","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-billing\u002Fmodels-and-pricing",{"title":529,"url":530},"OpenAI Developers: Codex pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fpricing",{"title":532,"url":533},"Ehsani et al.: Where Do AI Coding Agents Fail? An Empirical Study of Failed Agentic Pull Requests in GitHub (MSR 2026, arXiv 2601.15195)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.15195",{"title":535,"url":536},"Peralta et al.: Why Are Agentic Pull Requests Merged or Rejected? An Empirical Study (MSR 2026, arXiv 2605.22534)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.22534",{"title":538,"url":539},"DORA: State of AI-assisted Software Development 2025","https:\u002F\u002Fdora.dev\u002Fdora-report-2025","\u002Fimages\u002Fblog\u002Fbackground-agents-async-pr-workflow\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbackground-agents-async-pr-workflow\u002Fog.jpg",[61,62,63],"Coding-Agenten im Hintergrund: Pull Requests, Queues und Review","Wie asynchrone Coding-Agenten Tasks einreihen, in Sandboxes laufen, Draft-PRs öffnen und CI passieren. Grenzen, Kosten, Review und Fehlerbilder.","Eine Karte in einer Ablage fächert sich zu fünf Feldern auf, alle Pfeile führen zu einer Seite hinter einem Tor.",{"slug":547,"published":548,"minutes":6,"category":7,"tags":549,"keywords":555,"about":567,"sources":575,"cover":608,"og":609,"expertise":59,"locales":610,"lang":62,"title":611,"description":612,"coverAlt":613},"context-rot-compaction-long-running-agents","2026-10-16",[550,551,552,553,554],"Context rot","Compaction","Context engineering","Long-running agents","Agent memory",[556,557,558,559,560,561,562,563,564,565,566],"context rot","context rot LLM","compaction AI agents","context engineering","long-running agents context window","Claude compaction API","context editing clear tool results","OpenAI responses compaction","lost in the middle LLM","agent context management","sub-agents context isolation",[568,571,574],{"name":569,"url":570},"Context window","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model#Context_window",{"name":572,"url":573},"Attention (machine learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAttention_(machine_learning)",{"name":368,"url":369},[576,579,582,585,588,590,593,596,599,602,605],{"title":577,"url":578},"Chroma: Context Rot: How Increasing Input Tokens Impacts LLM Performance (Jul 2025)","https:\u002F\u002Fresearch.trychroma.com\u002Fcontext-rot",{"title":580,"url":581},"Liu et al.: Lost in the Middle: How Language Models Use Long Contexts (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172",{"title":583,"url":584},"Modarressi et al.: NoLiMa: Long-Context Evaluation Beyond Literal Matching (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.05167",{"title":586,"url":587},"Anthropic: Effective context engineering for AI agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"title":589,"url":448},"Anthropic: Effective harnesses for long-running agents (Nov 2025)",{"title":591,"url":592},"Claude API docs: Compaction at a token threshold","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-threshold",{"title":594,"url":595},"Claude API docs: Compaction on demand","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-on-demand",{"title":597,"url":598},"Claude API docs: Context editing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcontext-editing",{"title":600,"url":601},"Claude API docs: Memory tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fmemory-tool",{"title":603,"url":604},"OpenAI API docs: Compaction","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fcompaction",{"title":606,"url":607},"Cognition: Don't Build Multi-Agents","https:\u002F\u002Fcognition.ai\u002Fblog\u002Fdont-build-multi-agents","\u002Fimages\u002Fblog\u002Fcontext-rot-compaction-long-running-agents\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcontext-rot-compaction-long-running-agents\u002Fog.jpg",[61,62,63],"Context Rot bei langlaufenden Agenten: Leeren, Compaction, Memory und Sub-Agenten","Warum die Genauigkeit von LLMs mit wachsendem Kontext sinkt und wie Leeren, Compaction, Notizen und Sub-Agenten lange Agentenläufe stabil halten.","Eine kleine Presse drückt einen hohen Blätterstapel zu einem kurzen, zwei Notizen zweigen ab.",1792261157883]