on main help sign in
fix: do not wait for MCP on interactive mode
commitc0662f13c0a71c584f71aee9bdbe8a63f6dca457 authorKujtim Hoxha <kujtimii.h@gmail.com> dateSun 18 Jan 2026, 10:19 (9 months ago) parente557065
2 files changed+9−6
internal/agent/coordinator.go−6 internal/app/app.go+9
internal/agent/coordinator.go−6
@@ -20,7 +20,6 @@ import (
2020 "github.com/charmbracelet/crush/internal/agent/hyper"
2121 "github.com/charmbracelet/crush/internal/agent/prompt"
2222 "github.com/charmbracelet/crush/internal/agent/tools"
23− "github.com/charmbracelet/crush/internal/agent/tools/mcp"
2423 "github.com/charmbracelet/crush/internal/config"
2524 "github.com/charmbracelet/crush/internal/csync"
2625 "github.com/charmbracelet/crush/internal/history"
@@ -412,11 +411,6 @@ func (c *coordinator) buildTools(ctx context.Context, agent config.Agent) ([]fan
412411 }
413412 }
414413
415− // Wait for MCP initialization to complete before reading MCP tools.
416− if err := mcp.WaitForInit(ctx); err != nil {
417− return nil, fmt.Errorf("failed to wait for MCP initialization: %w", err)
418− }
419−
420414 for _, tool := range tools.GetMCPTools(c.permissions, c.cfg.WorkingDir()) {
421415 if agent.AllowedMCP == nil {
422416 // No MCP restrictions
internal/app/app.go+9
@@ -173,6 +173,15 @@ func (app *App) RunNonInteractive(ctx context.Context, output io.Writer, prompt
173173 spinner = nil
174174 }
175175 }
176+
177+ // Wait for MCP initialization to complete before reading MCP tools.
178+ if err := mcp.WaitForInit(ctx); err != nil {
179+ return fmt.Errorf("failed to wait for MCP initialization: %w", err)
180+ }
181+
182+ // force update of agent models before running so mcp tools are loaded
183+ app.AgentCoordinator.UpdateModels(ctx)
184+
176185 defer stopSpinner()
177186
178187 const maxPromptLengthForTitle = 100