From 8df86426608f4660943d634b154d9bbdc1327e3b Mon Sep 17 00:00:00 2001 From: Rizel Scarlett Date: Fri, 20 Mar 2026 08:31:39 -0700 Subject: [PATCH] docs: add Claude Code approve mode permission routing documentation (#7949) Signed-off-by: Rizel Scarlett Signed-off-by: Angie Jones Signed-off-by: Douwe Osinga Co-authored-by: Douwe Osinga Co-authored-by: Angie Jones Co-authored-by: Angie Jones --- documentation/docs/guides/cli-providers.md | 15 +++++++++++++++ documentation/docs/guides/goose-permissions.md | 14 ++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/documentation/docs/guides/cli-providers.md b/documentation/docs/guides/cli-providers.md index b88c3c29f4..4f7ef396dc 100644 --- a/documentation/docs/guides/cli-providers.md +++ b/documentation/docs/guides/cli-providers.md @@ -301,6 +301,21 @@ The following models are recognized and passed to the Claude CLI via the `--mode | `approve` | `--permission-prompt-tool stdio` | Routes permission checks through the control protocol (prompts as needed) | | `chat` | (none) | Default Claude Code behavior | +:::tip Approve Mode Integration +When using `approve` or `smart_approve` mode with Claude Code, goose routes Claude Code's permission prompts through goose's confirmation interface. This means: + +- **Sensitive operations** (file writes, shell commands, etc.) trigger approval prompts in goose +- **You review and approve/deny** directly in the goose CLI or Desktop interface +- **Denied operations** are communicated back to Claude Code, which adapts accordingly + +This provides a consistent permission experience across all goose providers while leveraging Claude Code's built-in safety checks. + +Example with approve mode: +```bash +GOOSE_PROVIDER=claude-code GOOSE_MODE=approve goose session +``` +::: + ### Cursor Agent Configuration | Environment Variable | Description | Default | diff --git a/documentation/docs/guides/goose-permissions.md b/documentation/docs/guides/goose-permissions.md index 32dba4e63c..bcb924472c 100644 --- a/documentation/docs/guides/goose-permissions.md +++ b/documentation/docs/guides/goose-permissions.md @@ -145,3 +145,17 @@ Here's how to configure: Read/write approval makes best effort attempt at classifying read or write tools. This is interpreted by your LLM provider. ::: + +## CLI Provider Permission Integration + +When using [CLI providers](/docs/guides/cli-providers) like Claude Code, goose integrates with the provider's native permission system. In approve mode, permission requests from Claude Code are routed through goose's confirmation interface, giving you a unified experience. + +For example, with Claude Code in approve mode: +- Claude Code detects sensitive operations (file writes, shell commands, tool calls) +- The permission prompt appears in goose's interface (CLI or Desktop) +- Your allow/deny decision is sent back to Claude Code +- Claude Code proceeds or adapts based on your response + +This integration uses the same mechanism as the official Claude Agent SDKs, ensuring compatibility and consistent behavior. + +See [CLI Providers - Claude Code Configuration](/docs/guides/cli-providers#claude-code-configuration) for setup details.