diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-07-08 04:35:10 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-07-08 04:35:10 +0000 |
| commit | 2d9ae7e8b5660de32eeb12f74e845417e70a7e64 (patch) | |
| tree | 9fbd8ff483112c2e21d1191b7dbf6e0fd0cbc7d8 /internal/executor/container_test.go | |
| parent | fcf1821a62f151043df524deb111cadc4126e877 (diff) | |
fix(executor): pass --model to the claude CLI in ContainerRunner
buildInnerCmd never read t.Agent.Model when constructing the container's
claude -p invocation -- every Claude-type task silently ran on the CLI's
own default model regardless of what was requested via submit_task or the
role-based escalation ladder. Confirmed via execution logs: every task run
this session showed claude-sonnet-4-6 regardless of the model parameter
passed, which only went unnoticed because sonnet was requested every time.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VTUSAEKfsPc6WGDq45yPHD
Diffstat (limited to 'internal/executor/container_test.go')
| -rw-r--r-- | internal/executor/container_test.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/internal/executor/container_test.go b/internal/executor/container_test.go index 6261cd8..6672dea 100644 --- a/internal/executor/container_test.go +++ b/internal/executor/container_test.go @@ -194,6 +194,22 @@ func TestContainerRunner_BuildInnerCmd(t *testing.T) { } }) + t.Run("claude-model-set", func(t *testing.T) { + tk := &task.Task{Agent: task.AgentConfig{Type: "claude", Model: "opus"}} + cmdStr := strings.Join(runner.buildInnerCmd(tk, &storage.Execution{}, false, false), " ") + if !strings.Contains(cmdStr, "--model opus") { + t.Errorf("expected --model opus flag when Agent.Model is set, got %q", cmdStr) + } + }) + + t.Run("claude-model-empty", func(t *testing.T) { + tk := &task.Task{Agent: task.AgentConfig{Type: "claude"}} + cmdStr := strings.Join(runner.buildInnerCmd(tk, &storage.Execution{}, false, false), " ") + if strings.Contains(cmdStr, "--model") { + t.Errorf("did not expect --model flag when Agent.Model is empty, got %q", cmdStr) + } + }) + t.Run("custom-binaries", func(t *testing.T) { runnerCustom := &ContainerRunner{ ClaudeBinary: "/usr/bin/claude-v2", |
