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.