claude_runner_core 1.0.0

Claude Code process execution with builder pattern
Documentation
# settings

Load additional settings from a file path or inline JSON string.

## Type

**CLI** — string value (file path or JSON)

## Syntax

```
claude --settings <file-path>
claude --settings '<json-string>'
```

## Default

None (only standard config hierarchy applies)

## Description

Loads additional settings for the session from either a JSON file or an inline JSON string. These settings are merged with the standard config hierarchy (user, project, local settings).

The JSON structure matches Claude Code's settings format (`~/.claude/settings.json`).

Use cases:
- Per-invocation settings overrides without modifying config files
- Loading environment-specific settings (dev vs prod)
- Scripted sessions with non-standard configurations
- CI/CD pipelines with custom tool permissions

## Builder API

Use `with_settings()` — Accepts a file path or inline JSON string.

```rust
use claude_runner_core::ClaudeCommand;

let cmd = ClaudeCommand::new()
  .with_settings( "/home/user/.claude/settings.json" )
  .with_message( "Load custom settings" );
```

## Examples

```bash
# Load from file
claude --settings ~/.config/claude/ci-settings.json --print "CI task"

# Inline JSON
claude --settings '{"permissions":{"allow":["Bash","Read"]}}' \
  --print "Limited tools session"

# Environment-specific settings
claude --settings "$(cat environments/prod.settings.json)" --print "Production check"
```

## Notes

- Inline JSON must be valid and properly shell-quoted
- Settings are merged with the config hierarchy; see `--setting-sources` to control what's loaded
- The exact settings schema matches `~/.claude/settings.json`