yashdev9274 / yashdev9274/supercli

[BUG] supercode init exits silently during 'loading conversation' hook — prompt never opens (v0.1.90, paid tier)

Open
#233 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
214
Forks
41
Avg merge
2h 26m
Merged PRs (30d)
34

Description

Describe the bug

supercode init (CLI v0.1.90) hangs in "loading conversation" during startup and silently exits after ~6 ticks (~5s) with the message thanks for being here · see you next time. The interactive prompt never opens — stdin is never read. No error is emitted to stdout, stderr, or to any log file. There is no --verbose / --debug flag to inspect what is hanging.

I reproduced this 3 times with 3 different configurations and the behavior is identical every time. Same final 5 lines of output regardless of input.

To Reproduce

Steps:

  1. Authenticate once: supercode login (successful — Better-Auth device flow, paid tier, account Jose Isaias)
  2. Run supercode init from any directory
  3. Observe splash → auth "Welcome, Jose Isaias" → "paid tier" → SUPERCODE ai chat · <model> blocks → 6 ticks of loading conversation → process exits with thanks for being here · see you next time
  4. Prompt [chat] > never opens, no input is accepted

The same outcome happens with:

  • supercode init (default config exists at ~/.config/supercode/cli-config.json)
  • supercode init (after rm ~/.config/supercode/cli-config.json)
  • supercode init --resume="" (forced new conversation)
  • bash -c 'supercode init <<< "test"' (stdin pre-populated)

Expected behavior

The CLI should open the [chat] > prompt and wait for real user input. If the conversation-load hook times out, it should fall back to a fresh conversation and show a visible error (e.g. failed to resume conversation 'abc123', starting fresh) rather than silently terminate with a "thanks for being here" farewell.

Screenshots / Logs

The 3 attempts produce byte-identical tails. Final lines of every run:

┃ supercode · chat · deepseek-v4-flash ───────────────────── ready · type to chat

┌─ directory ──────────────────────────────────────────────────────────────┐
│   workspace · supercli-inspect                                         │
│   path     · /tmp/supercli-inspect                                     │
│   files    · 2                                                         │
└──────────────────────────────────────────────────────────────────────────┘

  hint · /model to switch  · Ctrl+V voice  · /help for commands  · Tab to cycle mode

▏ authenticating ▎ authenticating ▍ authenticating ▌ authenticating ▋ authenticating ◆ Welcome, Jose Isaias
▏ loading conversation ▎ loading conversation ▍ loading conversation ▌ loading conversation ▋ loading conversation▌ [chat] > Ask anything... "Fix broken tests"
  ◇  thanks for being here  ◇
     see you next time · supercode ◆

Note the prompt placeholder [chat] > Ask anything... "Fix broken tests" is rendered right next to the last loading conversation tick — the prompt is shown but the process exits immediately without ever reading stdin.

Mid-session state on each run:

  • OK: Welcome, Jose Isaias + paid tier
  • OK: server assigns model (saw kimi-k2-6 and deepseek-v4-flash across runs)
  • FAIL: loading conversation × 6 ticks → process dies
  • Note: ~/.config/supercode/cli-config.json shows "model": "deepseek-v4-flash" after exit, but the model is server-assigned, not local.

Environment

  • OS: Linux 6.8.0-134-generic (Ubuntu 22.04 container)
  • Supercode version: 0.1.90 (installed via npm install -g supercode-cli, today, 2026-07-25)
  • Shell: bash
  • Node: v22.22.3 (/root/.hermes/node/bin/node)
  • Bun: not installed (used npm — same package)
  • Auth: Better-Auth device flow, paid tier, account Jose Isaias
  • Server: default https://supercode-8w7e.onrender.com (not overridden)

Additional context

  • No --verbose, --debug, -v, or --log-level flag exists on supercode, supercode init, supercode login, or supercode skill. Verified each via --help.
  • No log file produced anywhere under ~/.supercode/, ~/.better-auth/, ~/.cache/, ~/.local/share/, /tmp, or /var/log. Only files left behind are:
    • ~/.better-auth/token.json (Bearer token, expires 2026-08-01)
    • ~/.config/supercode/cli-config.json (recreated on each run with server-assigned model)
  • The "thanks for being here" message is a deliberate farewell — the CLI is choosing to exit, not crashing. Suspect the conversation-load hook either:
    • hits a silent timeout against the Render free tier (supercode-8w7e.onrender.com), or
    • is a bug in v0.1.90 where the load hook never resolves when no --resume is supplied and the server has no prior conversation
  • Likely related: in my previous session I switched to glm-5.1 via the in-CLI /model command. The CLI may be trying to resume that conversation and failing.

Suggested fix (similar to issue #205):

  • Add a --verbose or --debug flag to surface the actual error from the conversation-load hook
  • When the hook fails/times out, fall back to a fresh conversation and log a visible warning
  • Don't exit with a "thanks for being here" farewell when the user has never interacted yet — that's misleading

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the supercode init entry point and trace the loading conversation hook, including the --resume path and configuration at ~/.config/supercode/cli-config.json. Reproduce with the listed supercode init variants and inspect how timeout or load failure is handled. Done means the prompt remains interactive, or a visible fallback error is shown instead of an immediate farewell.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.