diff --git a/cmd/start_darwin.go b/cmd/start_darwin.go index 83af123533..05a4551e1e 100644 --- a/cmd/start_darwin.go +++ b/cmd/start_darwin.go @@ -5,7 +5,7 @@ import ( "errors" "os" "os/exec" - "strings" + "regexp" "github.com/ollama/ollama/api" ) @@ -19,11 +19,12 @@ func startApp(ctx context.Context, client *api.Client) error { if err != nil { return err } - if !strings.Contains(link, "Ollama.app") { + r := regexp.MustCompile(`^.*/Ollama\s?\d*.app`) + m := r.FindStringSubmatch(link) + if len(m) != 1 { return errors.New("could not find ollama app") } - path := strings.Split(link, "Ollama.app") - if err := exec.Command("/usr/bin/open", "-j", "-a", path[0]+"Ollama.app", "--args", "--fast-startup").Run(); err != nil { + if err := exec.Command("/usr/bin/open", "-j", "-a", m[0], "--args", "--fast-startup").Run(); err != nil { return err } return waitForServer(ctx, client)