Skip to contents

Convenience wrapper around claude_query() that blocks until the ResultMessage is received and returns a structured result list. Equivalent to the Python pattern:

messages = []
async for msg in query(prompt, options): messages.append(msg)

Usage

claude_run(prompt, options = ClaudeAgentOptions(), ...)

Arguments

prompt

Character(1) or list.

options

A ClaudeAgentOptions from ClaudeAgentOptions().

...

Named arguments passed to ClaudeAgentOptions(), overriding values in options. E.g. claude_run("...", max_turns = 1L).

Value

A list of class ClaudeRunResult with:

  • $messages — all messages in order

  • $result — the ResultMessage (or NULL if not received)

Examples

if (FALSE) { # \dontrun{
# Simple one-shot query
result <- claude_run("What is 2 + 2?", max_turns = 1L)
cat(result$result$result, "\n")

# With custom options
opts <- ClaudeAgentOptions(
  max_turns       = 1L,
  permission_mode = "bypassPermissions",
  system_prompt   = "You are a helpful assistant."
)
result <- claude_run("Summarise R in one sentence.", options = opts)
} # }