Skip to content

Windows Electron orchestrator spawn has zellij first-run failure and docs drift #327

@somewherelostt

Description

@somewherelostt

Summary

On Windows, after installing the required zellij runtime, the Electron app can start the daemon successfully, but the first orchestrator spawn may fail after a long delay with a Zellij "There is no active session!" error. A subsequent spawn can succeed.

This also exposed docs drift: the frontend platform docs recommend runtime: process for Windows, but the current Go rewrite appears to wire only the Zellij runtime.

Reported by @somewherelostt.

Environment

  • OS: Windows
  • Repo: aoagents/ReverbCode
  • Frontend command: cd frontend && npm run dev
  • Node: v24.12.0
  • npm: 10.9.1
  • Go on PATH: go1.24.4, with Go toolchain auto-selecting go1.25.7 for the module
  • Zellij installed via Scoop: C:\Users\abuma\scoop\shims\zellij.exe
  • Zellij version: zellij 0.44.3

Repro

  1. On Windows, install zellij 0.44.3 and make sure it is on PATH.
  2. From frontend/, run npm run dev.
  3. Let Electron auto-launch the daemon.
  4. Try to open/spawn the orchestrator from the Electron UI.

Actual

Daemon starts cleanly:

time=2026-06-19T03:01:37.373+05:30 level=INFO msg="daemon listening" addr=127.0.0.1:3001 pid=24524

ao doctor passes the zellij check:

PASS zellij: C:\Users\abuma\scoop\shims\zellij.exe (version 0.44.3; require >= 0.44.3)

The first orchestrator spawn created an incomplete seed row, repeated reaper warnings, then failed after about 31s:

time=2026-06-19T03:01:47.371+05:30 level=WARN msg="reaper: session has no runtime handle metadata, skipping" session=reverbcode-13
...
time=2026-06-19T03:02:15.177+05:30 level=INFO msg="http request" id=Somewherelostt/VWPZORuGel-000007 method=POST path=/api/v1/orchestrators status=500 bytes=126 duration=31.2322219s remote=127.0.0.1:58251 error="spawn reverbcode-13: runtime: zellij runtime: list panes reverbcode-13: exit status 1: There is no active session!"

The frontend only surfaced:

Failed to spawn orchestrator: Error: Internal server error

Immediately after that, a second orchestrator spawn succeeded:

time=2026-06-19T03:02:18.119+05:30 level=INFO msg="http request" id=Somewherelostt/VWPZORuGel-000028 method=POST path=/api/v1/orchestrators status=201 bytes=65 duration=1.5745059s remote=127.0.0.1:58254

zellij ls then showed:

reverbcode-14 [Created 23s ago]

and ao session get reverbcode-14 --json showed the orchestrator as idle / not terminated.

Expected

  • First orchestrator spawn on Windows with zellij 0.44.3 should either succeed or fail quickly with an actionable runtime error.
  • The backend should not leave an incomplete seed session repeatedly logged by the reaper while runtime creation is still pending/failing.
  • The frontend should surface the daemon error envelope/message instead of only Internal server error.
  • Docs should match the current Go runtime support. Either Windows should genuinely support the documented runtime: process, or the Windows docs should state that the current rewrite requires Zellij until the process runtime lands.

Code/docs notes

Current backend wiring appears to construct Zellij unconditionally:

  • backend/internal/daemon/daemon.go calls zellij.New(...)
  • only runtime adapter present locally is backend/internal/adapters/runtime/zellij

Current frontend docs recommend process runtime for Windows:

  • frontend/src/landing/content/docs/platforms.mdx says Windows should use runtime: process

The top-level README currently matches the implementation better and says the runtime is zellij and requires zellij on PATH.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions