Skip to content

fix(ui): surface a failed program launch where people actually are (#441) (v0.38.4) - #446

Merged
jpelaez-23blocks merged 1 commit into
mainfrom
fix/surface-launch-failure-441
Sep 4, 2026
Merged

fix(ui): surface a failed program launch where people actually are (#441) (v0.38.4)#446
jpelaez-23blocks merged 1 commit into
mainfrom
fix/surface-launch-failure-441

Conversation

@jpelaez-23blocks

Copy link
Copy Markdown
Contributor

Closes #441.

v0.38.0 made the API report programStarted: false with a reason. Nothing displayed it. The dashboard still showed a healthy-looking agent, and finding out meant reading the API response or the server log — which is the half the reporter of #426 would actually have seen.

Three surfaces

The first-agent onboarding wizard — the most important of the three. It is someone's very first agent, and #426 was reported by a user in exactly that position whose first message was executed by bash. The heading changes from "ready to help you build amazing things" to "created, but its AI program did not start".

The agent creation wizard — same warning on its success screen. The agent genuinely exists, so this is a warning, not a failure, and the wizard stops implying everything is fine.

Waking an agent — a 15-second warning toast. This path only checked !response.ok, so a wake returning HTTP 200 with programStarted: false was treated as complete success and said nothing at all.

All three name the consequence, not just the fault:

The agent's terminal is at a shell prompt. Anything you send it now would be run as a shell command instead of read.

Verified end to end

Creating an agent configured with aider, which is not installed on this machine — the exact scenario suspected when this was raised ("maybe the user tried to create an agent using a framework he did not have installed?"):

{
  "success": true,
  "programStarted": false,
  "programError": "\"aider\" did not start: the program is not on PATH inside the tmux session. tmux starts a non-login shell, so a PATH exported from ~/.bash_profile or ~/.profile is not present — move it to ~/.bashrc (or ~/.zshrc), or check the program is installed at all.",
  "shellSaid": "zsh: command not found: aider"
}

Control, with a program that is installed: programStarted: true, no warning. Both test agents cleaned up.

What this closes

The case ran from a fresh install (#426) to a configured-but-missing framework. Choosing aider, codex, cursor or a sandbox-exec wrapper you have not installed used to be indistinguishable from a working agent at every layer — service, API, and UI. All three now say so.

1257 tests passing.

🤖 Generated with Claude Code

) (v0.38.4)

v0.38.0 made the API report programStarted:false with a reason. Nothing
displayed it, so the dashboard still showed a healthy-looking agent and
someone had to read the API response or the server log to find out. That is
the half the reporter of #426 would actually have seen.

- First-agent onboarding wizard: shown on the success screen. The most
  important of the three — it is someone's first agent, and #426 was
  reported by a user in exactly that position whose first message was
  executed by bash. The heading changes from "ready to help you build
  amazing things" to "created, but its AI program did not start".
- Agent creation wizard: same warning on its success screen. The agent
  genuinely exists, so a warning rather than a failure.
- Wake: a 15s warning toast. The wake path only checked !response.ok, so
  HTTP 200 with programStarted:false was treated as complete success and
  said nothing.

All three name the consequence, not just the fault: the terminal is at a
shell prompt, so anything sent now would be run as a shell command instead
of read.

Verified end to end by creating an agent configured with aider, which is not
installed here:

  { "success": true, "programStarted": false,
    "programError": "\"aider\" did not start: the program is not on PATH ...",
    "shellSaid": "zsh: command not found: aider" }

Control with an installed program: programStarted:true, no warning.

Closes the case that began with a fresh install and ends with a
configured-but-missing framework: choosing aider, codex, cursor or a wrapper
you have not installed used to be indistinguishable from a working agent at
every layer — service, API and UI.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@jpelaez-23blocks
jpelaez-23blocks merged commit 519a3df into main Sep 4, 2026
3 checks passed
@jpelaez-23blocks
jpelaez-23blocks deleted the fix/surface-launch-failure-441 branch September 4, 2026 22:03
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.

Program launch failure is swallowed — agent looks healthy with an empty shell

1 participant