mirror of
https://github.com/anthropics/claude-code-action.git
synced 2026-01-22 22:44:13 +08:00
- Agent mode now only triggers when explicit prompt is provided - Removed automatic triggering for workflow_dispatch/schedule without prompt - Re-added additional_permissions input for requesting GitHub permissions - Fixed TypeScript types for mock context helpers to properly handle partial inputs - Updated documentation to reflect simplified mode behavior
128 lines
4.2 KiB
Markdown
128 lines
4.2 KiB
Markdown
# Experimental Features
|
|
|
|
**Note:** Experimental features are considered unstable and not supported for production use. They may change or be removed at any time.
|
|
|
|
## Execution Modes
|
|
|
|
The action supports three execution modes, each optimized for different use cases:
|
|
|
|
### Tag Mode (Default)
|
|
|
|
The traditional implementation mode that responds to @claude mentions, issue assignments, or labels.
|
|
|
|
- **Triggers**: `@claude` mentions, issue assignment, label application
|
|
- **Features**: Creates tracking comments with progress checkboxes, full implementation capabilities
|
|
- **Use case**: General-purpose code implementation and Q&A
|
|
|
|
```yaml
|
|
- uses: anthropics/claude-code-action@beta
|
|
with:
|
|
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
# mode: tag is the default
|
|
```
|
|
|
|
### Agent Mode
|
|
|
|
**Note: Agent mode is currently in active development and may undergo breaking changes.**
|
|
|
|
For direct automation when an explicit prompt is provided.
|
|
|
|
- **Triggers**: Works with any event when `prompt` input is provided
|
|
- **Features**: Direct execution without @claude mentions, no tracking comments
|
|
- **Use case**: Automated PR reviews, scheduled tasks, workflow automation
|
|
|
|
```yaml
|
|
- uses: anthropics/claude-code-action@beta
|
|
with:
|
|
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
prompt: |
|
|
Check for outdated dependencies and create an issue if any are found.
|
|
# Mode is auto-detected when prompt is provided
|
|
```
|
|
|
|
### Experimental Review Mode
|
|
|
|
**Warning: This is an experimental feature that may change or be removed at any time.**
|
|
|
|
For automated code reviews on pull requests.
|
|
|
|
- **Triggers**: Pull request events (`opened`, `synchronize`) or `@claude review` comments
|
|
- **Features**: Provides detailed code reviews with inline comments and suggestions
|
|
- **Use case**: Automated PR reviews, code quality checks
|
|
|
|
```yaml
|
|
- uses: anthropics/claude-code-action@beta
|
|
with:
|
|
mode: experimental-review
|
|
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
custom_instructions: |
|
|
Focus on code quality, security, and best practices.
|
|
```
|
|
|
|
See [`examples/claude-modes.yml`](../examples/claude-modes.yml) and [`examples/claude-experimental-review-mode.yml`](../examples/claude-experimental-review-mode.yml) for complete examples of each mode.
|
|
|
|
## Network Restrictions
|
|
|
|
For enhanced security, you can restrict Claude's network access to specific domains only. This feature is particularly useful for:
|
|
|
|
- Enterprise environments with strict security policies
|
|
- Preventing access to external services
|
|
- Limiting Claude to only your internal APIs and services
|
|
|
|
When `experimental_allowed_domains` is set, Claude can only access the domains you explicitly list. You'll need to include the appropriate provider domains based on your authentication method.
|
|
|
|
### Provider-Specific Examples
|
|
|
|
#### If using Anthropic API or subscription
|
|
|
|
```yaml
|
|
- uses: anthropics/claude-code-action@beta
|
|
with:
|
|
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
# Or: claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
|
experimental_allowed_domains: |
|
|
.anthropic.com
|
|
```
|
|
|
|
#### If using AWS Bedrock
|
|
|
|
```yaml
|
|
- uses: anthropics/claude-code-action@beta
|
|
with:
|
|
use_bedrock: "true"
|
|
experimental_allowed_domains: |
|
|
bedrock.*.amazonaws.com
|
|
bedrock-runtime.*.amazonaws.com
|
|
```
|
|
|
|
#### If using Google Vertex AI
|
|
|
|
```yaml
|
|
- uses: anthropics/claude-code-action@beta
|
|
with:
|
|
use_vertex: "true"
|
|
experimental_allowed_domains: |
|
|
*.googleapis.com
|
|
vertexai.googleapis.com
|
|
```
|
|
|
|
### Common GitHub Domains
|
|
|
|
In addition to your provider domains, you may need to include GitHub-related domains. For GitHub.com users, common domains include:
|
|
|
|
```yaml
|
|
- uses: anthropics/claude-code-action@beta
|
|
with:
|
|
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
experimental_allowed_domains: |
|
|
.anthropic.com # For Anthropic API
|
|
.github.com
|
|
.githubusercontent.com
|
|
ghcr.io
|
|
.blob.core.windows.net
|
|
```
|
|
|
|
For GitHub Enterprise users, replace the GitHub.com domains above with your enterprise domains (e.g., `.github.company.com`, `packages.company.com`, etc.).
|
|
|
|
To determine which domains your workflow needs, you can temporarily run without restrictions and monitor the network requests, or check your GitHub Enterprise configuration for the specific services you use.
|