@@ -20,6 +20,7 @@ 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"
2324 "github.com/charmbracelet/crush/internal/config"
2425 "github.com/charmbracelet/crush/internal/csync"
2526 "github.com/charmbracelet/crush/internal/history"
@@ -411,6 +412,11 @@ func (c *coordinator) buildTools(ctx context.Context, agent config.Agent) ([]fan
411412 }
412413 }
413414
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+
414420 for _, tool := range tools.GetMCPTools(c.permissions, c.cfg.WorkingDir()) {
415421 if agent.AllowedMCP == nil {
416422 // No MCP restrictions