Skip to content

Make the viewer Studio: run and sign in from the page - #11

Merged
mrprkr merged 1 commit into
mainfrom
claude/studio-viewer-cloud-828471
Nov 4, 2026
Merged

mrprkr merged 1 commit into
mainfrom
claude/studio-viewer-cloud-828471

Conversation

@mrprkr

@mrprkr mrprkr commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The viewer Claude Code opens is now Stunt Double Studio. Its copy reads "Studio", not "Local".
  • Run again / Resume in Claude Code sends the checklist to the session that opened the viewer, as a Claude Code channel event (claude/channel on the MCP server). The page follows the run when it starts. If nothing starts within 20 seconds, it says why and offers the command to paste.
  • Sign in to Stunt Double and Run in the cloud now work from the viewer. The copy under the buttons says what a cloud run does and what it uploads.
  • The viewer's writes carry the same Origin and JSON guards as Studio's.
  • Credentials file I/O moves to src/credentials-file.ts, so the MCP import graph can reach the Stunt Double sign-in without reaching model keys. test/no-model.test.ts now allows cloud.ts and still blocks model.ts, runner.ts and credentials.ts.

Test plan

  • pnpm lint, pnpm format:check, pnpm type-check, pnpm build, pnpm test (121 pass)
  • Viewer checked in the browser against a copy of a demo project: Run again sends the channel event and opens the new run; with no run starting, the fallback shows the command.
  • Sign-in and a cloud run against production, by hand.
  • Run again from a real Claude Code session started with --dangerously-load-development-channels.

Notes

  • Channels are a research preview, so the agent path needs that flag. Without it, the copy-the-command fallback applies.
  • The plugin (stuntdouble-mcp) still pins stuntdouble@0.1.3, and its skill still says the local package never holds a Stunt Double token. Both need updating after this ships.

The viewer Claude Code opens is now Stunt Double Studio. Run again (or
Resume) sends the checklist to the session that opened it as a Claude
Code channel event, and the page follows the run when it starts. When the
session has no channel, the page says so and offers the command to paste.

Signing in to Stunt Double moves into the viewer, so cloud runs start
from it too. The viewer's write routes now carry the same Origin and JSON
guards as Studio's.

The Stunt Double sign-in is read by the MCP import graph through
cloud.ts. Model connections and keys stay out of it, and
test/no-model.test.ts still enforces that. The credentials file layer is
split into credentials-file.ts for that reason.

Signed-off-by: Michael Parker <michael@stuntdouble.io>
@mrprkr
mrprkr merged commit 4387a23 into main Nov 4, 2026
3 checks passed
@mrprkr
mrprkr deleted the claude/studio-viewer-cloud-828471 branch November 4, 2026 21:49
This was referenced Nov 4, 2026
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.

1 participant