fix(bash): use model name instead of ID

Amolith created

Assisted-by: Claude Sonnet 4.5 via Crush

Change summary

internal/agent/common_test.go | 9 ++++++++-
internal/agent/coordinator.go | 4 +++-
2 files changed, 11 insertions(+), 2 deletions(-)

Detailed changes

internal/agent/common_test.go 🔗

@@ -175,8 +175,15 @@ func coderAgent(r *recorder.Recorder, env fakeEnv, large, small fantasy.Language
 	if err != nil {
 		return nil, err
 	}
+
+	// Get the model name for the bash tool
+	modelName := large.Model() // fallback to ID if Name not available
+	if model := cfg.GetModel(large.Provider(), large.Model()); model != nil {
+		modelName = model.Name
+	}
+
 	allTools := []fantasy.AgentTool{
-		tools.NewBashTool(env.permissions, env.workingDir, cfg.Options.Attribution, large.Model()),
+		tools.NewBashTool(env.permissions, env.workingDir, cfg.Options.Attribution, modelName),
 		tools.NewDownloadTool(env.permissions, env.workingDir, r.GetDefaultClient()),
 		tools.NewEditTool(env.lspClients, env.permissions, env.history, env.workingDir),
 		tools.NewMultiEditTool(env.lspClients, env.permissions, env.history, env.workingDir),

internal/agent/coordinator.go 🔗

@@ -330,7 +330,9 @@ func (c *coordinator) buildTools(ctx context.Context, agent config.Agent) ([]fan
 	// Get the model name for the agent
 	modelName := ""
 	if modelCfg, ok := c.cfg.Models[agent.Model]; ok {
-		modelName = modelCfg.Model
+		if model := c.cfg.GetModel(modelCfg.Provider, modelCfg.Model); model != nil {
+			modelName = model.Name
+		}
 	}
 
 	allTools = append(allTools,