Skip to main content

Crate nucel_agent_claude_code

Crate nucel_agent_claude_code 

Source
Expand description

Claude Code provider — wraps the claude CLI as a subprocess.

Spawns claude -p ... --output-format stream-json --verbose and speaks JSONL stdio. Supports:

  • One-shot and multi-turn queries (single subprocess kept alive per session)
  • Cost tracking per session (from usage events on the wire)
  • Permission mode configuration (PermissionMode--permission-mode)
  • Budget enforcement (budget_usd → cancel on overrun)

§Minimal example

use nucel_agent_claude_code::ClaudeCodeExecutor;
use nucel_agent_core::{AgentExecutor, SpawnConfig};
use std::path::Path;

let executor = ClaudeCodeExecutor::new();
let session = executor.spawn(
    Path::new("/my/repo"),
    "Fix the failing test in src/lib.rs",
    &SpawnConfig {
        model: Some("claude-opus-4-6".into()),
        budget_usd: Some(5.0),
        max_turns: Some(10),
        ..Default::default()
    },
).await?;

let resp = session.query("Did CI pass?").await?;
println!("{}", resp.content);
session.close().await?;

See also: workspace README and the runnable example crates/unified/examples/claude_basic.rs.

Structs§

ClaudeCodeExecutor
Claude Code executor — spawns claude CLI subprocess.