on main help sign in
Merge pull request #120 from charmbracelet/bugfix/openai-client-baseurl

bugfix: endpoint resolution for openai client

commit2941c65211572cc9498aa6947a19cc546c9bc959 authorKujtim Hoxha <kujtimii.h@gmail.com> dateThu 10 Jul 2025, 09:37 (1 year ago) parent55a3756c55a483
2 files changed+6−3
internal/config/resolve.go+2−2 internal/llm/provider/openai.go+4−1
internal/config/resolve.go+2−2
@@ -54,8 +54,8 @@ func (r *shellVariableResolver) ResolveValue(value string) (string, error) {
5454 return strings.TrimSpace(stdout), nil
5555 }
5656
57− if strings.HasPrefix(value, "$") {
58− varName := strings.TrimPrefix(value, "$")
57+ if after, ok := strings.CutPrefix(value, "$"); ok {
58+ varName := after
5959 value = r.env.Get(varName)
6060 if value == "" {
6161 return "", fmt.Errorf("environment variable %q not set", varName)
internal/llm/provider/openai.go+4−1
@@ -38,7 +38,10 @@ func createOpenAIClient(opts providerClientOptions) openai.Client {
3838 openaiClientOptions = append(openaiClientOptions, option.WithAPIKey(opts.apiKey))
3939 }
4040 if opts.baseURL != "" {
41− openaiClientOptions = append(openaiClientOptions, option.WithBaseURL(opts.baseURL))
41+ resolvedBaseURL, err := config.Get().Resolve(opts.baseURL)
42+ if err == nil {
43+ openaiClientOptions = append(openaiClientOptions, option.WithBaseURL(resolvedBaseURL))
44+ }
4245 }
4346
4447 if opts.extraHeaders != nil {