Skip to content

Commit 44def35

Browse files
feat(batch): add --model flag to batch-runner.sh (#504)
Forwards to claude -p --model, allowing cheaper-model batches without changing default behavior.
1 parent e87eb57 commit 44def35

1 file changed

Lines changed: 15 additions & 6 deletions

File tree

batch/batch-runner.sh

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ RETRY_FAILED=false
3333
START_FROM=0
3434
MAX_RETRIES=2
3535
MIN_SCORE=0
36+
MODEL="" # empty = let claude -p use the Claude Max default
3637

3738
usage() {
3839
cat <<'USAGE'
@@ -48,6 +49,9 @@ Options:
4849
--start-from N Start from offer ID N (skip earlier IDs)
4950
--max-retries N Max retry attempts per offer (default: 2)
5051
--min-score N Skip PDF/tracker for offers scoring below N (default: 0 = off)
52+
--model NAME Claude model passed to `claude -p --model` (default:
53+
unset = Claude Max default). Use a cheaper model for
54+
large batches, e.g. `--model claude-sonnet-4-6`.
5155
-h, --help Show this help
5256
5357
Files:
@@ -81,6 +85,7 @@ while [[ $# -gt 0 ]]; do
8185
--start-from) START_FROM="$2"; shift 2 ;;
8286
--max-retries) MAX_RETRIES="$2"; shift 2 ;;
8387
--min-score) MIN_SCORE="$2"; shift 2 ;;
88+
--model) MODEL="$2"; shift 2 ;;
8489
-h|--help) usage; exit 0 ;;
8590
*) echo "Unknown option: $1"; usage; exit 1 ;;
8691
esac
@@ -355,13 +360,17 @@ process_offer() {
355360
-e "s|{{ID}}|${esc_id}|g" \
356361
"$PROMPT_FILE" > "$resolved_prompt"
357362

358-
# Launch claude -p worker (uses default model from Claude Max subscription)
363+
# Launch claude -p worker.
364+
# Model defaults to the Claude Max subscription default unless --model was
365+
# passed. Building the command in an array keeps quoting safe regardless.
366+
local -a claude_args=(-p --dangerously-skip-permissions)
367+
if [[ -n "$MODEL" ]]; then
368+
claude_args+=(--model "$MODEL")
369+
fi
370+
claude_args+=(--append-system-prompt-file "$resolved_prompt" "$prompt")
371+
359372
local exit_code=0
360-
claude -p \
361-
--dangerously-skip-permissions \
362-
--append-system-prompt-file "$resolved_prompt" \
363-
"$prompt" \
364-
> "$log_file" 2>&1 || exit_code=$?
373+
claude "${claude_args[@]}" > "$log_file" 2>&1 || exit_code=$?
365374

366375
# Cleanup resolved prompt
367376
rm -f "$resolved_prompt"

0 commit comments

Comments
 (0)