Skip to content

PyPI 1.0.8 is broken with current python-fastllm (ssage prints "Connecting..." then exits silently); fix #96 is on main but not released #98

Description

@kalch

Bug

Installing shell-sage from PyPI (1.0.8) and running ssage produces no output — just a Connecting... spinner, then exit code 0.

To reproduce

uv tool install shell-sage   # resolves to 1.0.8
ssage "Say hello"

Expected: a streamed answer. Actual: ⠋ Connecting... with nothing after it.

Error messages

None — the process exits with code 0 and empty stderr. The failure is silent, which makes it easy to miss.

Root cause

In 1.0.8, get_res in shell_sage/core.py only accumulates chunks that are dicts:

if isinstance(chunk, dict) and 'text' in chunk: _res += chunk['text']

Current python-fastllm (0.0.40) streams Text/Thinking objects instead of plain dicts, so no chunk is ever accumulated, nothing renders, and the process exits 0.

This is already fixed on main (commit 564d013, "fixes #96", using fastllm's StreamAccum) — but no release has been cut since. PyPI still serves 1.0.8 (released 2026-07-20), so everyone installing today gets the broken version. This affects both uv tool install and pip install shell-sage.

I searched the open issues before filing this — none report this bug. #96 (closed) only tracked the code fix itself, which is done; this issue is about that fix never being released.

Workaround

uv tool install --force --from git+https://github.com/AnswerDotAI/shell_sage shell-sage

Request

Please cut a 1.0.9 release so the StreamAccum fix ships to PyPI.

Environment

  • macOS, zsh
  • shell-sage 1.0.8 (PyPI)
  • python-fastllm 0.0.40

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions