4.3 KiB
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:
@claudementions, issue assignment, label application - Features: Creates tracking comments with progress checkboxes, full implementation capabilities
- Use case: General-purpose code implementation and Q&A
- 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 automation with workflow_dispatch and scheduled events only.
- Triggers: Only works with
workflow_dispatchandscheduleevents - does NOT work with PR/issue events - Features: Perfect for scheduled tasks, works with
override_prompt - Use case: Maintenance tasks, automated reporting, scheduled checks
- uses: anthropics/claude-code-action@beta
with:
mode: agent
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
override_prompt: |
Check for outdated dependencies and create an issue if any are found.
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 reviewcomments - Features: Provides detailed code reviews with inline comments and suggestions
- Use case: Automated PR reviews, code quality checks
- 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 and 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
- 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
- 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
- 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:
- 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.