[GH-ISSUE #14095] app/ui: browser tools not registered for gptoss models with non-gpt-oss names #34963

Open
opened 2026-04-22 19:03:08 -05:00 by GiteaMirror · 0 comments
Owner

Originally created by @larryk78 on GitHub (Feb 5, 2026).
Original GitHub issue: https://github.com/ollama/ollama/issues/14095

Description

When using a model with gptoss architecture but a name that doesn't start with gpt-oss (e.g., Raiff1982/codette-ultimate-v2:latest), the browser tools (browser.search, browser.open, browser.find) are not registered even though web search is enabled.

This causes the error:

Error: unknown tool: browser.search

And the warning:

msg="harmony parser: no reverse mapping found for function name" harmonyFunctionName=browser.search

Root Cause

There's an inconsistency between how the harmony parser is selected vs how browser tools are registered:

  • shouldUseHarmony() in server/routes.go:60-70 correctly checks model.Config.ModelFamily:

    if slices.Contains([]string{"gptoss", "gpt-oss"}, model.Config.ModelFamily) {
    
  • supportsBrowserTools() in app/ui/ui.go:1614-1616 incorrectly checks only the model name string:

    func supportsBrowserTools(model string) bool {
        return strings.HasPrefix(strings.ToLower(model), "gpt-oss")
    }
    

This means any gptoss model with a custom name (like community models) will have the harmony parser enabled (which expects browser tools), but the tools won't be registered.

Steps to Reproduce

  1. Use a model with gptoss architecture but a name not starting with gpt-oss (e.g., Raiff1982/codette-ultimate-v2:latest)
  2. Enable web search in the Ollama desktop app
  3. Ask a question that triggers web search
  4. The model tries to call browser.search but fails with "unknown tool"

Expected Behavior

Browser tools should be registered for any model with gptoss or gpt-oss model family, regardless of the model name.

Proposed Fix

Modify supportsBrowserTools() to check the model family from ShowResponse.Details.Family instead of the model name string, similar to how shouldUseHarmony() works.

Originally created by @larryk78 on GitHub (Feb 5, 2026). Original GitHub issue: https://github.com/ollama/ollama/issues/14095 ## Description When using a model with `gptoss` architecture but a name that doesn't start with `gpt-oss` (e.g., `Raiff1982/codette-ultimate-v2:latest`), the browser tools (`browser.search`, `browser.open`, `browser.find`) are not registered even though web search is enabled. This causes the error: ``` Error: unknown tool: browser.search ``` And the warning: ``` msg="harmony parser: no reverse mapping found for function name" harmonyFunctionName=browser.search ``` ## Root Cause There's an inconsistency between how the harmony parser is selected vs how browser tools are registered: - `shouldUseHarmony()` in `server/routes.go:60-70` correctly checks `model.Config.ModelFamily`: ```go if slices.Contains([]string{"gptoss", "gpt-oss"}, model.Config.ModelFamily) { ``` - `supportsBrowserTools()` in `app/ui/ui.go:1614-1616` incorrectly checks only the model **name** string: ```go func supportsBrowserTools(model string) bool { return strings.HasPrefix(strings.ToLower(model), "gpt-oss") } ``` This means any gptoss model with a custom name (like community models) will have the harmony parser enabled (which expects browser tools), but the tools won't be registered. ## Steps to Reproduce 1. Use a model with `gptoss` architecture but a name not starting with `gpt-oss` (e.g., `Raiff1982/codette-ultimate-v2:latest`) 2. Enable web search in the Ollama desktop app 3. Ask a question that triggers web search 4. The model tries to call `browser.search` but fails with "unknown tool" ## Expected Behavior Browser tools should be registered for any model with `gptoss` or `gpt-oss` model family, regardless of the model name. ## Proposed Fix Modify `supportsBrowserTools()` to check the model family from `ShowResponse.Details.Family` instead of the model name string, similar to how `shouldUseHarmony()` works.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/ollama#34963