ClaudeWrapper.Commands.AutoMode (ClaudeWrapper v0.8.0)

Copy Markdown View Source

Auto-mode classifier inspection commands.

Wraps claude auto-mode config|defaults|critique, which expose the auto-mode classifier configuration the CLI uses to decide which actions it can take without prompting.

Usage

config = ClaudeWrapper.Config.new()

# Print the effective config (your settings merged over defaults), as JSON
{:ok, json} = ClaudeWrapper.Commands.AutoMode.config(config)

# Print the default environment/allow/soft_deny/hard_deny rules, as JSON
{:ok, json} = ClaudeWrapper.Commands.AutoMode.defaults(config)

# Get AI feedback on your custom auto-mode rules (free-form text)
{:ok, feedback} = ClaudeWrapper.Commands.AutoMode.critique(config)

# Override the model used for the critique
{:ok, feedback} = ClaudeWrapper.Commands.AutoMode.critique(config, model: "opus")

Summary

Functions

Print the effective auto-mode config as JSON.

Get AI feedback on your custom auto-mode rules.

Print the default auto-mode environment, allow, soft_deny, and hard_deny rules as JSON.

Functions

config(config)

@spec config(ClaudeWrapper.Config.t()) :: {:ok, String.t()} | {:error, term()}

Print the effective auto-mode config as JSON.

Emits your settings where set and defaults otherwise, merged. The string is returned verbatim (trimmed); decode it with Jason.decode/1 if you need the structured form.

critique(config, opts \\ [])

@spec critique(
  ClaudeWrapper.Config.t(),
  keyword()
) :: {:ok, String.t()} | {:error, term()}

Get AI feedback on your custom auto-mode rules.

Output is free-form text.

Options

  • :model - Override which model is used for the critique (--model). Without one the CLI picks its default.

defaults(config)

@spec defaults(ClaudeWrapper.Config.t()) :: {:ok, String.t()} | {:error, term()}

Print the default auto-mode environment, allow, soft_deny, and hard_deny rules as JSON.

Useful as a reference when writing custom rules. The soft/hard deny split distinguishes "warn but allow when explicitly overridden" from "always block."