QueryOptions

works.iterative.claude.core.model.QueryOptions
See theQueryOptions companion object
case class QueryOptions(prompt: String, cwd: Option[String] = ..., executable: Option[String] = ..., executableArgs: Option[List[String]] = ..., pathToClaudeCodeExecutable: Option[String] = ..., maxTurns: Option[Int] = ..., allowedTools: Option[List[String]] = ..., disallowedTools: Option[List[String]] = ..., systemPrompt: Option[String] = ..., appendSystemPrompt: Option[String] = ..., mcpTools: Option[List[String]] = ..., permissionMode: Option[PermissionMode] = ..., continueConversation: Option[Boolean] = ..., resume: Option[String] = ..., model: Option[String] = ..., maxThinkingTokens: Option[Int] = ..., timeout: Option[FiniteDuration] = ..., inheritEnvironment: Option[Boolean] = ..., environmentVariables: Option[Map[String, String]] = ..., strictMcpConfig: Option[Boolean] = ..., mcpConfigPath: Option[String] = ..., settingSources: List[String] = ..., input: Option[UserInput] = ...)

Configuration options for Claude Code queries.

Maps to Claude Code CLI arguments for subprocess execution.

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def withAllowedTools(tools: List[String]): QueryOptions
def withAppendSystemPrompt(prompt: String): QueryOptions
def withClaudeExecutable(path: String): QueryOptions
def withContinueConversation(continue: Boolean): QueryOptions
def withCwd(cwd: String): QueryOptions
def withDisallowedTools(tools: List[String]): QueryOptions
def withEnvironmentVariables(vars: Map[String, String]): QueryOptions
def withExecutable(executable: String): QueryOptions
def withExecutableArgs(args: List[String]): QueryOptions
def withInheritEnvironment(inherit: Boolean): QueryOptions
def withInput(structured: UserInput): QueryOptions

Sends this query as structured input: the verbatim words, the context the application attached, and the channel that carried it.

Sends this query as structured input: the verbatim words, the context the application attached, and the channel that carried it.

prompt becomes the input's own text, so the two can never disagree about what the person said.

It is carried by a runner that can write the CLI's stdin. The others refuse a query holding one rather than sending the words without what came with them — see QueryOptions.unsupportedInput.

Attributes

def withMaxTurns(turns: Int): QueryOptions
def withMcpConfigPath(path: String): QueryOptions
def withMcpTools(tools: List[String]): QueryOptions
def withModel(model: String): QueryOptions
def withResume(sessionId: String): QueryOptions
def withSettingSources(sources: List[String]): QueryOptions
def withStrictMcpConfig(flag: Boolean): QueryOptions
def withSystemPrompt(prompt: String): QueryOptions
def withTimeout(timeout: FiniteDuration): QueryOptions

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product