Viewport daemon, relay, and hosted runtime are available in alpha. Surfaces may change.
VIEWPORT
Troubleshooting

Troubleshooting

Debug the launch path: pairing, worker claims, Slack/GitHub delivery, approvals, and run receipts.

Start with doctor output:

vpd worker doctor --json
vpd status --json

For workflow issues, vpd worker doctor --json is usually more useful than the personal monitor status. It should explain pairing, server, workspace, runner identity, transport, workspace root, detected agents/tools, and claimability.

Fast Diagnosis

SymptomFirst check
Slack/GitHub event arrived but no run existsRoute sync, event type, route conditions, and policy admission.
Worker is online but run remains queuedRunner pool/capability mismatch or claim denial.
Run starts but blocks foreverApproval gate, revision loop, or unavailable provider grant. Start with Approval or plan revision is stuck.
Slack posts raw \nSlack renderer regression; capture run id and Slack timestamp.
Slack posts to channel instead of threadSource Slack timestamp missing, fixture run, or notification target fell back.
PR is not createdGitHub App grant, approval state, repo scope, or side-effect denial. See Provider receipts are missing.
Completion receipt missingWorker cleanup/sync failure or provider notification failure. See Provider receipts are missing.

Support Bundle

Collect:

vpd worker doctor --json > /tmp/vpd-worker-doctor.json
vpd status --json > /tmp/vpd-status.json

Also capture:

  • workspace and team name;
  • workflow id and run id;
  • runner name;
  • Slack channel/timestamp if relevant;
  • GitHub PR/proposal URL if relevant;
  • denial code or error message shown in the app.

Do not include raw tokens, pairing codes, private keys, lease tokens, bootstrap tokens, or provider secrets.

On this page