[Bug]: orcad cannot create a terminal at all, and its agent chat renders nothing
- Dominant language
- TypeScript
- Stars
- 72.1k
- Forks
- 4.7k
- Avg merge
- 14h 54m
- Merged PRs (30d)
- 520
Description
**Operating system:** Linux (Synology DSM, system-scope systemd service, paired iOS client)
**Orca version:** built from `main` at `94e758666` — between v1.4.191 and v1.4.192
---
Two startup steps `--serve` performs and orcad does not. On current `main` orcad
cannot create a terminal at all, and its agent chat cannot render.
**1. orcad never calls `runtime.syncWindowGraph(HEADLESS_RUNTIME_WINDOW_ID, ...)`.**
`--serve` does, with a comment naming this exact hazard. orcad copies the
surrounding sequence and omits that one line, so `graphStatus` never leaves
`'unavailable'`. Two failures follow, and neither names the graph:
- `session.tabs.createTerminal` returns `runtime_unavailable`. The throw is
`assertGraphReady()`, the **first** statement of
`runCreateMobileSessionTerminal` — far above any PTY code, so a live daemon
makes no difference.
- `session.tabs.listAll` does not fail, it **hangs**. No timeout, no error, no log.
**2. orcad never starts the agent hook server.**
Native chat reads the transcript path the hook reports
(`providerSession.transcriptPath`). The spawn path is already correct, but
`buildPtyEnv()` returns `{}` while the port is 0. Measured on the live agent
process: eight `ORCA_*` vars present, **zero** `ORCA_AGENT_HOOK_*` — so
`claude-hook.sh` returned at its first line on every invocation.
**Repro:**
1. Run orcad (not `orca serve`) against a scratch data root.
2. `session.tabs.createTerminal` → `runtime_unavailable`
3. `session.tabs.listAll` → no response, ever
4. The daemon log shows no create request was received, from any client.
The daemon is healthy throughout — it is simply never asked.
Contributor guide
Assessment
This issue has not been assessed yet.