mpfaffenberger / mpfaffenberger/code_puppy_core_plugins
ollama_setup: "Type yes to proceed" prompt is dead — login runs unconditionally and can block ~2 min
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3
- Forks
- 20
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 20
Description
Bug
ollama_setup/register_callbacks.py — lines 342–351 (handler), 219–251 (_run_ollama_login).
After an auth failure the handler prints "Type 'yes' to proceed, or anything else to skip and do it manually later" (lines 343–347) and then calls _run_ollama_login() unconditionally (line 351) — the user's input is never read. The comment on 349–350 admits the contradiction ("We can't do interactive input here (custom commands shouldn't block) So we just run it").
_run_ollama_login runs subprocess.run(["ollama", "login"], capture_output=False, timeout=120) synchronously from inside the custom-command handler. Consequences:
- A browser OAuth flow launches even when the user would have typed "no".
- In a captive/non-interactive context
ollama logincan neither be answered nor succeed, so/ollama-setup ...freezes the app for up to 120 s — the exact stall the printed instructions promised the user they could avoid.
Suggested fix
Read the user's answer first (via the proper async approval/input seam, or make login opt-in like /ollama-setup --login), or drop the misleading "type yes or anything else" text and make the message match the actual behavior.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in ollama_setup/register_callbacks.py at lines 342–351, then inspect _run_ollama_login at lines 219–251 and the custom-command input or approval path. Reproduce the auth-failure flow and verify that login is no longer launched unconditionally or allowed to block for 120 seconds when the user declines or input is unavailable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ollama, python
- Domain
- authentication, cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 62/100