Agent-facing reproduction kits for open has_repro issues: unit tests under src/**/repro-*.test.ts and writeups under docs/bug-reproductions/.
Bug reproduction index
Orchestration 2026-07-15 · worktree cooked-PRs · production Orca 1.4.143 (/Applications/Orca.app) · macOS.
How to use this folder
| Path | Purpose |
|---|---|
README.md |
This index |
WINDOWS-ONLY.md |
Windows/WSL bugs deferred (need a Windows host) |
<issue-number>.md |
Per-issue status, evidence, re-run steps |
scripts/ |
Shell / node helpers |
evidence/ |
Captured JSON, logs |
Production CLI note
/usr/local/bin/orca may be a stale dev shim pointing at a deleted worktree. Prefer:
PROD="/Applications/Orca.app/Contents/Resources/bin/orca"
"$PROD" status --json
Security
Do not run issue attachments (.exe, .cmd, .ps1, mystery archives). Recreate fixtures yourself. No malicious payloads were found in the issues reviewed this pass.
Status legend
- REPRODUCED — conclusive evidence + re-run steps/tests → GitHub label
has_repro - NOT REPRODUCED — attempted; current tree/app does not show the bug → GitHub label
cannot_repro - PARTIAL — root cause narrowed; full product path not live-proven (not labeled)
- DEFERRED — Windows / mobile / special host
Filter on GitHub:
REPRODUCED (conclusive)
| Issue | Summary | Re-run |
|---|---|---|
| 8844 | orca file open succeeds for missing files |
default script is non-destructive; live open needs ORCA_REPRO_8844_LIVE=1 (creates ghost tabs) |
| 8670 | Clean worktree + submodule needs git worktree remove --force |
bash docs/bug-reproductions/scripts/repro-8670-submodule-worktree-remove.sh |
| 8454 | Bare localhost:… forced to http:// |
pnpm exec vitest run src/shared/browser-url.test.ts |
| 8533 / 8584 | Default shortcut collisions (Mod+Shift+E, Mod+0) |
pnpm exec vitest run --config config/vitest.config.ts src/shared/repro-8533-8584-shortcut-conflicts.test.ts |
| 8595 | Bold Text color override is a no-op | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/terminal-pane/repro-8595-bold-theme-noop.test.ts |
| 8832 | Cmd-click URL glues next line text | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/terminal-pane/repro-8832-url-next-line.test.ts |
| 8940 | opencode labeled as Claude Code | pnpm exec vitest run --config config/vitest.config.ts src/shared/repro-8940-opencode-as-claude.test.ts |
| 8903 | Cmd-J focus lands on wrong (often hidden) surface | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/cmd-j/repro-8903-cmdj-focus-fallback.test.ts |
| 8962 | OMP terminals excluded from cold session restore | See 8962.md (unit proofs on RESUMABLE_TUI_AGENTS / extractAgentProviderSession) |
| 8808 | Agent recognition fails on env-prefixed cmdline after restart | See 8808.md (recognizeAgentProcess with CLAUDE_CONFIG_DIR=… claude); fix PR #8942 |
| 8865 | Project Group hides members when Hide sleeping filters workspaces | See 8865.md; fix PR #8866 |
| 8532 | Cmd+Shift+O open markdown only works in floating terminal |
See 8532.md; fix PR #8564 |
| 8577 | Settings search query leaks into Shortcuts row filter | See 8577.md; fix PR #8579 |
| 8784 | GHE PR avatars built from github.com/{login}.png |
pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/github/repro-8784-ghe-avatar-fallback.test.ts; fix PR #8831 |
| 8935 | GHE PR work item diffs do not load (no Enterprise host) | pnpm exec vitest run --config config/vitest.config.ts src/main/github/repro-8935-ghe-pr-diff-host.test.ts; fix PR #8932 |
| 8729 | .codex-pet ignores per-frame duration (uniform 8 fps) | pnpm exec vitest run --config config/vitest.config.ts src/main/ipc/repro-8729-codex-pet-fps.test.ts |
| 8695 | undici 7.28.0 paused-parser assert crashes main | unit + live: bash docs/bug-reproductions/scripts/repro-8695-undici-paused-parser.sh |
| 8720 | SSH relay npm 12 skips node-pty (no allowScripts) | pnpm exec vitest run --config config/vitest.config.ts src/main/ssh/repro-8720-npm12-allow-scripts.test.ts |
| 8535 | pinned orca serve --port overridden by mobile-ws fallback |
pnpm exec vitest run --config config/vitest.config.ts src/main/runtime/rpc/repro-8535-ws-fallback-port-order.test.ts |
| 8739 | Linear filters only first selected team | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/repro-8739-linear-filter-first-team.test.ts |
| 8459 | Resource Manager kills live daemon as orphan | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/status-bar/repro-8459-orphan-live-daemon.test.ts |
| 8457 | headless serve hijacks GUI relaunch | pnpm exec vitest run --config config/vitest.config.ts src/main/startup/repro-8457-serve-desktop-hijack.test.ts |
| 8864 | Agent history lookup hangs forever | pnpm exec vitest run --config config/vitest.config.ts src/main/ai-vault/repro-8864-history-lookup-no-timeout.test.ts |
| 8482 | Window Blur sustained high GPU on macOS | pnpm exec vitest run --config config/vitest.config.ts src/main/window/repro-8482-window-blur-gpu-cost.test.ts |
| 8752 | Setup-script prompt stays after orca.yaml setup | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/sidebar/repro-8752-setup-script-prompt-stale.test.ts |
| 8726 | Tasks fork: auto PR→origin; count cache 120s | pnpm exec vitest run --config config/vitest.config.ts src/main/github/repro-8726-fork-pr-auto-origin.test.ts |
| 8934 | Jira ADF media images dropped in Tasks | pnpm exec vitest run --config config/vitest.config.ts src/main/jira/repro-8934-adf-media-dropped.test.ts |
| 8335 | Terminal stuck: mouse preserved on agent reattach | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/terminal-pane/repro-8335-agent-editor-mouse-preserve.test.ts |
| 8758 | node-pty unavailable on remote (same as #8720) | pnpm exec vitest run --config config/vitest.config.ts src/main/ssh/repro-8758-node-pty-remote.test.ts |
| 8541 | Remote multiplex timeout cascade | pnpm exec vitest run --config config/vitest.config.ts src/shared/repro-8541-multiplex-timeout-cascade.test.ts |
| 8622 | SSH keyboard-interactive MFA unsupported | pnpm exec vitest run --config config/vitest.config.ts src/main/ssh/repro-8622-keyboard-interactive-missing.test.ts |
| 8450 | SSH relay picks system Node without npm | pnpm exec vitest run --config config/vitest.config.ts src/main/ssh/repro-8450-node-without-npm.test.ts |
| 8742 | Antigravity sessions missing from AI Vault | pnpm exec vitest run --config config/vitest.config.ts src/main/ai-vault/repro-8742-antigravity-not-scanned.test.ts |
| 8299 | Shift+Space input-source switch also types space | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/terminal-pane/repro-8299-shift-space-input-source.test.ts |
| 8733 / 8399 | Option compose broken under kitty (vim/Pi) | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/terminal-pane/repro-8733-8399-kitty-option-compose.test.ts |
| 8986 | OMP tab status flash (working↔idle titles) | pnpm exec vitest run --config config/vitest.config.ts src/shared/repro-8986-omp-status-flash.test.ts |
| 8372 | Closed Resource Manager CLI count vs live daemon | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/status-bar/repro-8372-closed-cli-count-stale.test.ts |
| 8974 | Claude usage stuck “Refreshing sign-in” | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/status-bar/repro-8974-refreshing-sign-in-stuck.test.ts |
| 8797 | Background Opacity / Window Blur no-op on macOS | pnpm exec vitest run --config config/vitest.config.ts src/main/window/repro-8797-blur-opacity-noop.test.ts |
| 8378 | Codex session reset: popup vs status bar | pnpm exec vitest run --config config/vitest.config.ts src/shared/repro-8378-codex-reset-time-mismatch.test.ts |
| 8715 | OMP scroll resets on tab switch (alt buffer) | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/lib/pane-manager/repro-8715-omp-alt-screen-scroll.test.ts |
| 8881 | Sidebar duplicates worktrees after re-pair | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/store/slices/repro-8881-runtime-repair-duplicates.test.ts |
| 8878 | Remote client resumes live host agents | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/lib/repro-8878-remote-resume-no-runtime-gate.test.ts; fix PR #8887 |
| 8593 | Lingering idle subagent sidebar rows | pnpm exec vitest run --config config/vitest.config.ts src/renderer/src/components/sidebar/repro-8593-idle-subagent-rows.test.ts |
| 8478 | OpenCode native title → wrong icon | pnpm exec vitest run --config config/vitest.config.ts src/shared/repro-8478-opencode-native-title-icon.test.ts; fix PR #8590 |
NOT REPRODUCED (Batch C)
| Issue | Summary | Re-run |
|---|---|---|
| 8749 | Agent seatbelt blocks claude-hook.sh | live sandbox_check=0; src/main/agent-hooks/repro-8749-hook-path-no-seatbelt.test.ts |
| 8943 | Browser shows insecure | screenshot-only; src/main/browser/repro-8943-browser-insecure-indicator.test.ts |
Batch re-run (unit tests that live under src/)
pnpm exec vitest run --config config/vitest.config.ts \
src/shared/repro-8533-8584-shortcut-conflicts.test.ts \
src/renderer/src/components/terminal-pane/repro-8595-bold-theme-noop.test.ts \
src/renderer/src/components/terminal-pane/repro-8832-url-next-line.test.ts \
src/shared/repro-8940-opencode-as-claude.test.ts \
src/renderer/src/components/cmd-j/repro-8903-cmdj-focus-fallback.test.ts \
src/shared/browser-url.test.ts \
src/renderer/src/components/github/repro-8784-ghe-avatar-fallback.test.ts \
src/main/github/repro-8935-ghe-pr-diff-host.test.ts \
src/main/ipc/repro-8729-codex-pet-fps.test.ts \
src/main/repro-8695-undici-paused-parser.test.ts \
src/main/ssh/repro-8720-npm12-allow-scripts.test.ts \
src/main/runtime/rpc/repro-8535-ws-fallback-port-order.test.ts \
src/renderer/src/components/repro-8739-linear-filter-first-team.test.ts \
src/renderer/src/components/status-bar/repro-8459-orphan-live-daemon.test.ts \
src/main/startup/repro-8457-serve-desktop-hijack.test.ts \
src/main/ai-vault/repro-8864-history-lookup-no-timeout.test.ts \
src/main/window/repro-8482-window-blur-gpu-cost.test.ts \
src/renderer/src/components/sidebar/repro-8752-setup-script-prompt-stale.test.ts \
src/main/github/repro-8726-fork-pr-auto-origin.test.ts \
src/main/jira/repro-8934-adf-media-dropped.test.ts \
src/renderer/src/components/terminal-pane/repro-8335-agent-editor-mouse-preserve.test.ts \
src/main/ssh/repro-8758-node-pty-remote.test.ts \
src/shared/repro-8541-multiplex-timeout-cascade.test.ts \
src/main/ssh/repro-8622-keyboard-interactive-missing.test.ts \
src/main/ssh/repro-8450-node-without-npm.test.ts \
src/main/ai-vault/repro-8742-antigravity-not-scanned.test.ts \
src/renderer/src/components/terminal-pane/repro-8299-shift-space-input-source.test.ts \
src/renderer/src/components/terminal-pane/repro-8733-8399-kitty-option-compose.test.ts \
src/shared/repro-8986-omp-status-flash.test.ts \
src/renderer/src/components/status-bar/repro-8372-closed-cli-count-stale.test.ts \
src/renderer/src/components/status-bar/repro-8974-refreshing-sign-in-stuck.test.ts \
src/renderer/src/store/slices/repro-8539-fetchAllWorktrees-reconnect.test.ts
# Git fixture (safe)
bash docs/bug-reproductions/scripts/repro-8670-submodule-worktree-remove.sh
# #8844 — evidence-only by default (does NOT open editor tabs)
bash docs/bug-reproductions/scripts/repro-8844-file-open-missing.sh
# Live missing-path open creates ghost ENOENT tabs — only if you really need it:
# ORCA_REPRO_8844_LIVE=1 bash docs/bug-reproductions/scripts/repro-8844-file-open-missing.sh
# #8695 — process crash expected (undici assert)
bash docs/bug-reproductions/scripts/repro-8695-undici-paused-parser.sh
PARTIAL
| Issue | Summary | Notes |
|---|---|---|
| 8970 | Closed agent session lingers in sidebar | Happy-path close clears status; residual races after #8825/#8851 not live-proven |
| 8539 | Renderer freeze 87s on reconnect many worktrees | Call sites + O(repos) work proven; live multi-host freeze not run |
NOT REPRODUCED
| Issue | Summary | Notes |
|---|---|---|
| 8838 | <br> in markdown table cells |
Current MarkdownPreview pipeline emits real <br/> — pnpm exec node docs/bug-reproductions/scripts/repro-8838-br-in-table.mjs |
| 8440 | MCP OAuth not persisting in Orca terminals | Maintainer could not repro; no in-tree generic MCP OAuth store bug; needs agent/MCP credential path |
| 8749 | Agent seatbelt blocks claude-hook.sh | Live daemon PTY sandbox_check=0; no seatbelt in daemon spawn code |
| 8943 | Browser shows insecure | Screenshot-only; intentional popup “Not secure” for remote http |
DEFERRED
| Bucket | Doc / notes |
|---|---|
| Windows / WSL | WINDOWS-ONLY.md — 30+ open bugs |
| Linux/IBus/X11 | #8861 (CJK IME), #8860 (middle-click paste twice) |
| GitHub Enterprise (live UI) | Live GHE UI still needs a host; code-level repros done for #8935 / #8784 (fix PRs #8932 / #8831) |
| Mobile / iOS / Android | #8933, #8889, #8818, #8700, #8666, #8555, #8592, #8364, #8313, … |
| Sandbox / live agent | #8749 (claude-hook.sh EPERM) — needs Orca-hosted Claude session |
| SSH / remote runtime | #8878, #8871, #8696, … — need remote hosts (#8720/#8450/#8758/#8541/#8622 code-level done) |
| Perf / scale | #8814, #8882, #8652 — need multi-worktree load (#8539 PARTIAL call sites) |
| Windows project status UI | #8813 — see WINDOWS-ONLY.md / 8813.md |
What we need from you (only blockers for next steps)
- Windows host or CI — process WINDOWS-ONLY.md (P0: #8751, #8734, #6874).
- GHE credentials / sandbox — optional live UI for #8935/#8784 (code-level REPRODUCED; fix PRs #8932 / #8831).
- Mobile device or emulator pairing — for freezes/rename/browser-tab bugs.
- Confirm live UI for #8970 — still seeing lingering closed sessions on 1.4.143 after #8825?
- Linux remote with npm 12 — optional live for #8720 (code-level REPRODUCED: missing
allowScripts).
Everything else in the REPRODUCED table is re-runnable by another agent without extra access.