@@ -289,11 +289,26 @@ func (c *coordinator) buildAgent(ctx context.Context, prompt *prompt.Prompt, age
289289 }
290290
291291 largeProviderCfg, _ := c.cfg.Providers.Get(large.ModelCfg.Provider)
292− tools, err := c.buildTools(ctx, agent)
293− if err != nil {
294− return nil, err
295− }
296− return NewSessionAgent(SessionAgentOptions{large, small, largeProviderCfg.SystemPromptPrefix, systemPrompt, c.cfg.Options.DisableAutoSummarize, c.permissions.SkipRequests(), c.sessions, c.messages, tools}), nil
292+ result := NewSessionAgent(SessionAgentOptions{
293+ large,
294+ small,
295+ largeProviderCfg.SystemPromptPrefix,
296+ systemPrompt,
297+ c.cfg.Options.DisableAutoSummarize,
298+ c.permissions.SkipRequests(),
299+ c.sessions,
300+ c.messages,
301+ nil,
302+ })
303+ go func() {
304+ tools, err := c.buildTools(ctx, agent)
305+ if err != nil {
306+ slog.Error("could not init agent tools", "err", err)
307+ return
308+ }
309+ result.SetTools(tools)
310+ }()
311+ return result, nil
297312}
298313
299314func (c *coordinator) buildTools(ctx context.Context, agent config.Agent) ([]fantasy.AgentTool, error) {