# Final URL wording runtime capture

PR [#23396](https://github.com/pingdotgg/t3code/pull/23396), HEAD [f6e8762257](https://github.com/pingdotgg/t3code/commit/f6e8762257a73c882f405c0067de17b8bbca5c1e). Captured 2026-10-22 UTC.

PASS U1: actual HTTP MCP preview_open with url about:blank, open false returned isError true and:

```
Preview automation open failed: Invalid preview URL (parse: https:; input length 11). Use an http(s) URL or a schemeless host such as localhost:5173. With preview_open, omit url when creating a new tab to open a blank tab.
```

PASS U2: actual HTTP MCP preview_open with URL omitted, open false, reuseExistingTab false created owned blank tab; available true, URL null.

PASS U3: actual authenticated app preview.open RPC with url about:blank, runtime server, reveal false returned PreviewInvalidUrlError. Decoded message:

```
Invalid preview URL (parse: https:; input length 11). Use an http(s) URL or a schemeless host such as localhost:5173. With preview_open, omit url when creating a new tab to open a blank tab.
```

The transcript preserves complete requests, HTTP statuses, MCP envelopes, RPC decoded results, message getter values and actual WebSocket error frames. The RPC top-level message getter is recorded separately from the serialized wire fields; the nested wire cause also contains the new wording.

L1 PASS malformed locator; S1 PASS malformed CSS selector; P1 PASS synthetic URL/locator/selector markers absent from complete returned MCP error envelopes and synthetic URL RPC result/wire frame. Synthetic markers intentionally remain in request arguments. Navigate also returned the qualified URL guidance. Valid CSS produced the expected 1000ms timeout.

Normal isolated node_modules/.bin/vp run dev --no-seed, worktree /home/ubuntu/wt/issue-22402, worktree .t3 only, backend 14964, Vite 6924. Existing private authentication worked. A copied external codex-capture wrapper held turn/start and captured the server-issued live MCP capability; no caller/auth guard bypass, direct error construction, source edit, commit, push, or forge write. Actual binary and transport setup followed the existing scripts, copied into a separate final folder with updated SHA and paths. Original evidence is intact. No live ~/.t3 state was used.

FRICTION: server startup watched a Vite temporary file and restarted; two early capture attempts received ECONNREFUSED before readiness. Retrying after readiness succeeded. Cleanup inspection first encountered a protected ancestor /proc cwd, then an overly strict command prefix failed to select the owned runner; neither attempt sent a signal. After the intentional turn interruption, runner PID 1812370 was absent and ss showed neither dev port listening. Worktree remains clean at the exact requested SHA.

Desktop explicitly UNVERIFIED, nonblocking. Visual matrix: 0 rows. No screenshots needed for server error wording. Prior baseline/red-green evidence was not rerun or replaced. No checks/reviews were polled; their current state is unverified.

Public output excludes private auth, startup logs, settings, MCP capability headers and held provider requests. Known credentials and startup pairing tokens were scanned/replaced before upload.
