diff --git a/cmd/toolsrv/internal/server/proc.go b/cmd/toolsrv/internal/server/proc.go index 54fa62a..68d560d 100644 --- a/cmd/toolsrv/internal/server/proc.go +++ b/cmd/toolsrv/internal/server/proc.go @@ -275,7 +275,14 @@ func (st *State) NewProc(ctx context.Context, payload string, background bool) ( info, ok := reg.Lookup(aid, toolName) if !ok { - return "", 0, fmt.Errorf("tool not found: %s", toolName) + // Auto-load if tool exists + if err := reg.Load(aid, toolName); err != nil { + return "", 0, err // "tool not found: X" + } + info, _ = reg.Lookup(aid, toolName) + if st.OnToolsChanged != nil { + st.OnToolsChanged() + } } // Create proc context. For background procs, detach from request context