docs/adapters/claude-local.md
The claude_local adapter runs Anthropic's Claude Code CLI locally. It supports session persistence, skills injection, and structured output parsing.
claude command available)ANTHROPIC_API_KEY set in the environment or agent config| Field | Type | Required | Description |
|---|---|---|---|
cwd | string | Yes | Working directory for the agent process (absolute path; created automatically if missing when permissions allow) |
model | string | No | Claude model to use (e.g. claude-opus-4-6) |
promptTemplate | string | No | Prompt used for all runs |
env | object | No | Environment variables (supports secret refs) |
timeoutSec | number | No | Process timeout (0 = no timeout) |
graceSec | number | No | Grace period before force-kill |
maxTurnsPerRun | number | No | Max agentic turns per heartbeat (defaults to 300) |
dangerouslySkipPermissions | boolean | No | Skip permission prompts (default: true); required for headless runs where interactive approval is impossible |
Templates support {{variable}} substitution:
| Variable | Value |
|---|---|
{{agentId}} | Agent's ID |
{{companyId}} | Company ID |
{{runId}} | Current run ID |
{{agent.name}} | Agent's name |
{{company.name}} | Company name |
The adapter persists Claude Code session IDs between heartbeats. On the next wake, it resumes the existing conversation so the agent retains full context.
Session resume is cwd-aware: if the agent's working directory changed since the last run, a fresh session starts instead.
If resume fails with an unknown session error, the adapter automatically retries with a fresh session.
The adapter creates a temporary directory with symlinks to Paperclip skills and passes it via --add-dir. This makes skills discoverable without polluting the agent's working directory.
For manual local CLI usage outside heartbeat runs (for example running as claudecoder directly), use:
pnpm paperclipai agent local-cli claudecoder --company-id <company-id>
This installs Paperclip skills in ~/.claude/skills, creates an agent API key, and prints shell exports to run as that agent.
Use the "Test Environment" button in the UI to validate the adapter config. It checks:
ANTHROPIC_API_KEY vs subscription login)claude --print - --output-format stream-json --verbose with prompt Respond with hello.) to verify CLI readiness