Files
openclaw/docs/models/claude-code-cli.md
Clawd BotandClaude Opus 4.6 ca9b510922 chore: align with upstream openclaw/openclaw and overlay local additions
- Reset master to upstream/main (16,697 commits)
- Overlay 2,271 local-only files (skills, tools, workspace, configs, apps)
- Restore IDENTITY.md and USER.md templates
- Build verified, gateway running, Discord working

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-03-03 07:40:46 +01:00

281 lines
6.3 KiB
Markdown

# Using Claude Code CLI with OpenClaw
OpenClaw supports using Claude models via the Claude Code CLI subscription instead of direct API calls. This allows you to use your Claude.ai subscription without needing API keys.
## Benefits
- **No API keys needed**: Uses your Claude.ai subscription
- **Subscription-based**: No per-request costs if you have a Claude Pro subscription
- **Same models**: Access to Claude Opus 4.6, Sonnet 4.5, and Haiku 4.5
- **Seamless integration**: Works with all OpenClaw features
## Prerequisites
1. **Claude Code CLI installed**: Follow the installation guide at https://docs.anthropic.com/en/docs/claude-code
2. **Claude.ai account**: You need a Claude Pro or equivalent subscription
3. **Authenticated CLI**: Run `claude login` to authenticate
## Quick Start
### 1. Install Claude Code CLI
```bash
# macOS/Linux
curl -fsSL https://claude.ai/install.sh | sh
# Or use npm
npm install -g @anthropic-ai/claude-code
```
### 2. Authenticate
```bash
claude login
```
### 3. Configure OpenClaw
Add the following to your `~/.openclaw/config.yaml`:
```yaml
agents:
defaults:
# Add claude-cli models to allowlist (required)
models:
claude-cli/opus: {}
claude-cli/sonnet: {}
claude-cli/haiku: {}
# Set claude-cli as your primary model provider
model:
primary: claude-cli/sonnet
fallbacks:
- claude-cli/opus
- claude-cli/haiku
```
### 4. Start using it
```bash
# Send a message using Claude Code subscription
openclaw message send "Hello from Claude Code CLI!"
# Or use with any channel
# Messages will now use your subscription instead of API calls
```
## Available Models
When using `claude-cli` as the provider, you can use these model aliases:
- `claude-cli/opus` - Claude Opus 4.6 (most capable)
- `claude-cli/sonnet` - Claude Sonnet 4.5 (balanced)
- `claude-cli/haiku` - Claude Haiku 4.5 (fast)
## Configuration Examples
### Example 1: Use Claude Code for all models
```yaml
agents:
defaults:
# Register models (required)
models:
claude-cli/opus: {}
claude-cli/sonnet: {}
claude-cli/haiku: {}
# Set primary and fallbacks
model:
primary: claude-cli/sonnet
fallbacks:
- claude-cli/opus
```
### Example 2: Mix Claude Code with API models
```yaml
agents:
defaults:
# Register both CLI and API models
models:
claude-cli/opus: {}
claude-cli/sonnet: {}
anthropic/claude-opus-4-6: {}
# Use subscription for most requests
model:
primary: claude-cli/sonnet
fallbacks:
- anthropic/claude-opus-4-6 # Falls back to API if needed
```
### Example 3: Per-agent configuration
```yaml
agents:
defaults:
# Register all models globally
models:
claude-cli/opus: {}
claude-cli/sonnet: {}
anthropic/claude-sonnet-4-5: {}
agents:
work:
# Use Claude Code subscription for work agent
model:
primary: claude-cli/opus
personal:
# Use API for personal agent
model:
primary: anthropic/claude-sonnet-4-5
```
### Example 4: Custom model aliases
```yaml
agents:
defaults:
models:
claude-cli/opus:
alias: subscription-opus
claude-cli/sonnet:
alias: subscription-sonnet
model:
primary: subscription-sonnet
```
## Advanced Configuration
### Custom CLI Backend Settings
You can customize the Claude CLI backend in your config:
```yaml
agents:
defaults:
cliBackends:
claude-cli:
# Use a custom claude binary path
command: /custom/path/to/claude
# Override model aliases
modelAliases:
my-opus: opus
my-sonnet: sonnet
```
### Timeout Configuration
Adjust timeouts for long-running requests:
```yaml
agents:
defaults:
timeoutSeconds: 300 # 5 minutes
```
## Usage Tips
### 1. Check CLI Status
Verify your Claude CLI is working:
```bash
claude --version
claude whoami
```
### 2. Model Selection
Use the `openclaw models` command to see available models:
```bash
openclaw models list
```
### 3. Monitor Usage
The Claude Code CLI uses your subscription. Check your usage at https://claude.ai/settings
### 4. Fallback Strategy
Consider keeping API-based models as fallbacks in case the CLI is unavailable:
```yaml
agents:
defaults:
model:
primary: claude-cli/sonnet
fallbacks:
- claude-cli/opus
- anthropic/claude-sonnet-4-5 # API fallback
```
## Troubleshooting
### "claude: command not found"
The Claude CLI is not installed or not in your PATH. Install it:
```bash
curl -fsSL https://claude.ai/install.sh | sh
```
### "Not authenticated"
Run `claude login` to authenticate:
```bash
claude login
```
### CLI session issues
If you encounter session-related errors, try:
```bash
# Clear local CLI state
rm -rf ~/.claude/sessions
# Restart your OpenClaw gateway
openclaw gateway restart
```
### Serialization conflicts
By default, Claude CLI runs are serialized (one at a time). If you need concurrent requests, you can disable serialization (note: this may cause issues):
```yaml
agents:
defaults:
cliBackends:
claude-cli:
serialize: false
```
## Limitations
- **No streaming to external channels**: CLI responses are sent as complete messages, not streamed
- **Rate limits**: Subject to Claude.ai subscription rate limits
- **Session management**: CLI maintains its own session state
- **Image support**: Image support depends on your Claude Code CLI version
## Comparison: CLI vs API
| Feature | Claude Code CLI | Anthropic API |
| --------------- | ------------------------------- | ----------------------- |
| **Cost** | Subscription-based | Pay-per-token |
| **Setup** | `claude login` | API key required |
| **Models** | Opus 4.6, Sonnet 4.5, Haiku 4.5 | All Claude models |
| **Streaming** | Limited | Full support |
| **Rate limits** | Subscription limits | API tier limits |
| **Best for** | Individual use, development | Production, high volume |
## Related Documentation
- [Model Configuration](/models/configuration)
- [Agent Configuration](/agents/configuration)
- [CLI Backends](/reference/cli-backends)
- [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code)