#!/bin/bash # minimax-m3-max init — set MAX_THINKING_TOKENS via Claude Code settings.json. # # MAX_THINKING_TOKENS cannot go in the harness env: block — H-SECRET-4 # pattern-matches "*TOKEN*" as credential-shaped and rejects the harness. # It is plain config (thinking budget), so deliver it through the # settings.json "env" map instead. Runs after minimax/v1's init.sh, so # merge into the existing file (which carries apiKeyHelper). set -euo pipefail AGENT_USER="${AGENT_USER:-agent}" AGENT_HOME=$(getent passwd "$AGENT_USER" | cut -d: -f6) if [ -z "$AGENT_HOME" ] || [ ! -d "$AGENT_HOME" ]; then AGENT_HOME="/home/$AGENT_USER" fi CONFIG_DIR="${CLAUDE_CONFIG_DIR:-$AGENT_HOME/.claude}" mkdir -p "$CONFIG_DIR" chown "$AGENT_USER:" "$CONFIG_DIR" 2>/dev/null || true SETTINGS_FILE="$CONFIG_DIR/settings.json" THINKING_BUDGET="32000" if [ -f "$SETTINGS_FILE" ] && command -v jq >/dev/null 2>&1; then TMP=$(mktemp) jq --arg v "$THINKING_BUDGET" \ '.env = ((.env // {}) + {MAX_THINKING_TOKENS: $v})' \ "$SETTINGS_FILE" > "$TMP" mv "$TMP" "$SETTINGS_FILE" else cat > "$SETTINGS_FILE" </dev/null || true chmod 0644 "$SETTINGS_FILE" echo "minimax-m3-max: MAX_THINKING_TOKENS=$THINKING_BUDGET wired in $SETTINGS_FILE"