claude_runner_core 1.0.0

Claude Code process execution with builder pattern
Documentation
# tools

Complete override of the available tool set for the session.

## Type

**CLI** — space-separated list

## Syntax

```
claude --tools <tools...>
claude --tools ""
claude --tools "default"
```

## Default

`default` (all built-in tools)

## Description

Fully replaces the available tool set with the specified list. Unlike `--allowed-tools` (which filters the existing set), `--tools` defines the complete set from scratch.

Special values:
- `""` (empty string): Disable all tools — Claude can only respond in text
- `"default"`: Use all standard built-in tools (explicit reset to defaults)
- Tool names: Space-separated list of specific tools

When combined with `--allowed-tools`, both constraints apply.

## Builder API

Use `with_tools()` — Accepts an iterator of tool names to set as the available toolset.

```rust
use claude_runner_core::ClaudeCommand;

let cmd = ClaudeCommand::new()
  .with_tools( [ "Bash", "Read" ] )
  .with_message( "Use only Bash and Read tools" );
```

## Examples

```bash
# No tools — text-only Claude
claude --tools "" --print "What is the time complexity of quicksort?"

# Only bash and read — scripting assistant
claude --tools "Bash Read" --print "Count lines in all .rs files"

# Default set explicitly (useful when config has custom tools)
claude --tools "default" --print "Standard session"
```

## Notes

- `--tools ""` is the most restrictive option: no file access, no shell, no web
- Overrides any tool settings from config files for the session
- MCP tools added via `--mcp-config` are separate and not affected by `--tools`