nucel-agent-claude-code
Claude Code provider for the Nucel Agent SDK —
a subprocess wrapper for Anthropic's claude CLI.
Features
- Streaming JSONL protocol — parses
system/init,assistant,result, and rate-limit events line-by-line - Session resume — uses the official
--resume <session_id>CLI flag - Multi-turn — keeps the subprocess alive and writes prompts to stdin
(
start_interactivemode) - Token tracking — input / output tokens reported by the CLI
- Budget enforcement — passes
--max-budget-usdto the CLI and guards client-side before/after every query - Timeout protection — configurable timeout per query (default: 10 minutes)
- Permission modes —
Prompt,AcceptEdits,BypassPermissions,RejectAll→ mapped to the official--permission-modevalues max_turnscontrol — passes--max-turns <n>(defaults to 1 for the initial spawn)- Graceful shutdown — SIGTERM then SIGKILL fallback
How it works
Spawns the claude CLI in print mode with streaming JSON output:
Then parses the JSONL stream and extracts:
- Text content from
assistantmessages - Cost from
result.total_cost_usd - Token usage from
result.usage - Session ID from
system/init(for resume)
For session resume, --resume <session_id> is added.
CLI flag mapping
SpawnConfig field |
CLI flag |
|---|---|
model |
--model |
permission_mode |
--permission-mode {default|acceptEdits|bypassPermissions|plan} |
budget_usd |
--max-budget-usd |
system_prompt |
--system-prompt |
max_turns |
--max-turns |
env |
passed as subprocess environment |
PermissionMode |
--permission-mode value |
|---|---|
Prompt |
default |
AcceptEdits |
acceptEdits |
BypassPermissions |
bypassPermissions |
RejectAll |
plan |
Reference: Claude Code CLI docs.
Usage
[]
= "0.1"
= { = "1", = ["full"] }
use ;
use Path;
async
Capabilities
session_resume: true (via --resume <id>)
token_usage: true
mcp_support: true
autonomous_mode: true
structured_output: false
Requirements
claudeCLI on PATH:npm install -g @anthropic-ai/claude-code- A valid
ANTHROPIC_API_KEYenv var or a logged-in Claude Max / Pro subscription (viaclaude login)
Source
License
Apache-2.0