Skip to content

Regression from oterm dep bump in #294543 #294674

Description

@mjgardner

brew config AND brew doctor output OR brew gist-logs <formula> link

The following brew doctor warnings are non-blocking managed-environment noise. The failure reproduces regardless.

HOMEBREW_VERSION: 6.0.12-94-gc010c96
ORIGIN: https://github.com/Homebrew/brew
HEAD: c010c96b2366b30b73e3f0879dfc9b45ce79988c
Last commit: 63 minutes ago
Branch: main
Core tap: N/A
Core cask tap: N/A
HOMEBREW_PREFIX: /opt/homebrew
Homebrew Ruby: 4.0.6 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/4.0.6/bin/ruby
CPU: 14-core 64-bit arm_brava
Clang: 21.0.0 build 2100
Git: 2.50.1 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 8.7.1 => /usr/bin/curl
macOS: 26.5.2-arm64
CLT: 26.6.0.0.1781586589
Xcode: 26.6
Metal Toolchain: N/A
Rosetta 2: false

Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae and may need to be deleted.

Unexpected dylibs:
  /usr/local/lib/libMsgCom.dylib
  /usr/local/lib/libSysCtlCom.dylib
  /usr/local/lib/libwep_airdrop.dylib
  /usr/local/lib/libwep_burn.dylib
  /usr/local/lib/libwep_cbcarbon.dylib
  /usr/local/lib/libwep_cbcocoa.dylib
  /usr/local/lib/libwep_chrome.dylib
  /usr/local/lib/libwep_dutil.dylib
  /usr/local/lib/libwep_ff.dylib
  /usr/local/lib/libwep_icloud.dylib
  /usr/local/lib/libwep_mail.dylib
  /usr/local/lib/libwep_post.dylib
  /usr/local/lib/libwep_pref.dylib
  /usr/local/lib/libwep_printer.dylib
  /usr/local/lib/libwep_proxy.dylib
  /usr/local/lib/libwep_screen.dylib

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae and may need to be deleted.

Unexpected header files:
  /usr/local/include/node/*

Verification

  • My brew doctor output says Your system is ready to brew. and am still able to reproduce my issue.
  • I ran brew update and am still able to reproduce my issue.
  • I have resolved all warnings from brew doctor and that did not fix my problem.
  • I searched for recent similar issues at https://github.com/Homebrew/homebrew-core/issues?q=is%3Aissue and found no duplicates.
  • My issue is not about a failure to build a formula from source.

What were you trying to do (and why)?

I was trying to run oterm installed via Homebrew so I could use it with my configured LM Studio OpenAI-compatible endpoint.

I do not use Cohere, but oterm crashes at startup before provider selection.

What happened (include all command output)?

Command run:

oterm

Output:

╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ /opt/homebrew/Cellar/oterm/0.20.0_1/libexec/lib/python3.14/site-packages/pyd │
│ antic_ai/models/cohere.py:42 in <module>                                     │
│                                                                              │
│    39 from ._tool_choice import resolve_tool_choice                          │
│    40                                                                        │
│    41 try:                                                                   │
│ ❱  42 │   from cohere import (                                               │
│    43 │   │   AssistantChatMessageV2,                                        │
│    44 │   │   AsyncClientV2,                                                 │
│    45 │   │   ChatFinishReason,                                              │
╰──────────────────────────────────────────────────────────────────────────────╯
ImportError: cannot import name 'TextAssistantMessageV2ContentOneItem' from 
'cohere' 
(/opt/homebrew/Cellar/oterm/0.20.0_1/libexec/lib/python3.14/site-packages/cohere
/__init__.py)

The above exception was the direct cause of the following exception:

╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ /opt/homebrew/Cellar/oterm/0.20.0_1/libexec/lib/python3.14/site-packages/ote │
│ rm/cli/oterm.py:46 in oterm                                                  │
│                                                                              │
│   43 │   │   exit(0)                                                         │
│   44 │                                                                       │
│   45 │   # Delay import to avoid sixel detection running unless necessary    │
│ ❱ 46 │   from oterm.app.oterm import app                                     │
│   47 │                                                                       │
│   48 │   app.run()                                                           │
│   49                                                                         │
│                                                                              │
│ /opt/homebrew/Cellar/oterm/0.20.0_1/libexec/lib/python3.14/site-packages/ote │
│ rm/app/oterm.py:9 in <module>                                                │
│                                                                              │
│     6 from textual.screen import Screen                                      │
│     7 from textual.widgets import Footer, Header, TabbedContent, TabPane     │
│     8                                                                        │
│ ❱   9 from oterm.app.chat_edit import ChatEdit                               │
│    10 from oterm.app.chat_export import ChatExport, slugify                  │
│    11 from oterm.app.splash import splash                                    │
│    12 from oterm.app.themes.solarized_dark import solarized_dark             │
│                                                                              │
│ /opt/homebrew/Cellar/oterm/0.20.0_1/libexec/lib/python3.14/site-packages/ote │
│ rm/app/chat_edit.py:29 in <module>                                           │
│                                                                              │
│    26 )                                                                      │
│    27 from oterm.providers.capabilities import get_capabilities              │
│    28 from oterm.providers.ollama import parse_modelfile_parameters          │
│ ❱  29 from oterm.providers.settings import get_supported_setting_keys        │
│    30 from oterm.types import ChatModel                                      │
│    31                                                                        │
│    32                                                                        │
│                                                                              │
│ /opt/homebrew/Cellar/oterm/0.20.0_1/libexec/lib/python3.14/site-packages/ote │
│ rm/providers/settings.py:6 in <module>                                       │
│                                                                              │
│    3 from pydantic_ai.models.anthropic import AnthropicModelSettings         │
│    4 from pydantic_ai.models.bedrock import BedrockModelSettings             │
│    5 from pydantic_ai.models.cerebras import CerebrasModelSettings           │
│ ❱  6 from pydantic_ai.models.cohere import CohereModelSettings               │
│    7 from pydantic_ai.models.google import GoogleModelSettings               │
│    8 from pydantic_ai.models.groq import GroqModelSettings                   │
│    9 from pydantic_ai.models.huggingface import HuggingFaceModelSettings     │
│                                                                              │
│ /opt/homebrew/Cellar/oterm/0.20.0_1/libexec/lib/python3.14/site-packages/pyd │
│ antic_ai/models/cohere.py:63 in <module>                                     │
│                                                                              │
│    60 │   from cohere.core.api_error import ApiError                         │
│    61 │   from cohere.v2.client import OMIT                                  │
│    62 except ImportError as _import_error:                                   │
│ ❱  63 │   raise ImportError(                                                 │
│    64 │   │   'Please install `cohere` to use the Cohere model, '            │
│    65 │   │   'you can use the `cohere` optional group — `pip install        │
│       "pydantic-ai-slim[cohere]"`'                                           │
│    66 │   ) from _import_error                                               │
╰──────────────────────────────────────────────────────────────────────────────╯
ImportError: Please install `cohere` to use the Cohere model, you can use the 
`cohere` optional group — `pip install "pydantic-ai-slim[cohere]"`

What did you expect to happen?

oterm should launch successfully.

Since I’m using LM Studio (OpenAI-compatible endpoint), it should not fail at startup due to a Cohere import mismatch.

Step-by-step reproduction instructions (by running brew commands)

brew update
brew reinstall oterm
oterm

Observed result: startup crash above.

(Formula currently installs cohere 7.0.6 alongside pydantic-ai-slim 2.1.0, which appears incompatible in this path.)

I also left this comment on #294543 : https://github.com/Homebrew/homebrew-core/pull/294543/changes#r3632390715

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions