Skip to content

Offer every model at install time, and stop the Keychain prompt - #20

Open
BeLazy167 wants to merge 2 commits into
mainfrom
fix/model-menu-all-models
Open

Offer every model at install time, and stop the Keychain prompt#20
BeLazy167 wants to merge 2 commits into
mainfrom
fix/model-menu-all-models

Conversation

@BeLazy167

Copy link
Copy Markdown
Member

Two install-time issues from the same run.

1. The chooser hid every GPT model

It listed only claude-sonnet-4-6 / haiku-4-5 / opus-4-8 / opus-5 because it reads /v1/models — the Anthropic surface, which by design serves only Claude models. The GPT models live on the OpenAI-compat surface. Now reads /models, the same endpoint models.tsv already uses, so all 12 appear and the default can be a GPT model.

Verified: install exits 0 with default model: gpt-5.6-sol.

2. "password data for new item:" blocked the install

macOS Keychain prompted mid-install. The write used bare -w, which depends on security reading the password from stdin — undocumented behaviour that falls back to a /dev/tty prompt when it doesn't happen.

Not reproducible here. I tested both a plain run and cat script | bash (the curl | bash shape) and the write succeeded silently both times, so this is environment-specific — most likely a locked login keychain.

Fixed anyway, because the old form relied on undocumented behaviour: security -i takes the command on stdin, so it cannot fall back to a prompt, and it keeps the key out of the process argument list (ps) — consistent with the curl --config - pattern used elsewhere for the same reason. The failure message now names the locked-keychain case.

If it recurs after this, the next thing to check is security show-keychain-info ~/Library/Keychains/login.keychain-db and the macOS version.

Two install-time reports from the same session:

- The model chooser listed only the four Claude models. It reads
  /v1/models — the Anthropic surface, which by design serves only Claude —
  while the GPT models live on the OpenAI-compat surface. It now reads
  /models, the same endpoint models.tsv already uses, so all 12 appear and
  the default can be a GPT model.

- macOS Keychain prompted "password data for new item:" mid-install and
  blocked. The write used bare `-w`, which relies on security reading the
  password from stdin — undocumented, and it falls back to a /dev/tty
  prompt when it does not. Not reproducible here (verified both plain and
  `cat script | bash`), so it is environment-specific, most likely a locked
  keychain. `security -i` takes the command on stdin, cannot fall back to a
  prompt, and keeps the key out of the process argument list. The failure
  message now names the locked-keychain case.

Verified: install exits 0 and the chooser offers all 12 models.
The stub read the action from $1, so `security -i` (command on stdin) fell
through and stored nothing — failing the generation-rotation assertions.
It now models both shapes the installer uses.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant