Web hand-off session cannot commit or push — work stranded in ephemeral container (commit-signing 400 'missing source' + no remote/gh)
Summary
The desktop → web "hand off your plan to Claude on the web" flow drops the user into a remote execution environment where completed work cannot be committed or pushed, so the code is effectively stranded in an ephemeral container and appears lost. This is a serious UX flaw in the hand-off path.
Environment
- Claude Code on the web (remote execution environment), reached via a plan hand-off from Claude Code on desktop.
- Repo: github.com/kurowski/homie, base commit 2455110.
What happened
The web session completed a multi-file implementation, but there was no way to get the code back out:
- Commit signing fails on every attempt. Config:
commit.gpgsign=true,gpg.format=ssh, key/home/claude/.ssh/commit_signing_key.pub. Everygit commitdies with:
````
signing server returned status 400: {"error":{"message":"missing source","reason":"","type":"invalid_request_error"}}
Request IDs: req_011CbX72UnvFs3ysVV7khd4y, req_011CbX75byrLytpNUSWPDRZK. Not transient — failed on repeated attempts.
- No egress from the shell.
git remote -vis empty andghis not installed, so the agent cannot push or open a PR. Because no commit can be created, the web UI's "Create PR" affordance is also dead.
Impact
Completed work sat as uncommitted edits in an ephemeral container with no durable destination — it looked "lost" to the user. Only recoverable by manually exporting a git diff patch and applying it locally.
Likely root cause
The signing server's missing source 400 is the primary failure: it blocks every commit, which cascades into "no PR." This looks like an environment-provisioning bug in the hand-off flow (signing not wired up, and/or no remote configured).
Expected
A plan hand-off from desktop → web should land in an environment where commits can be signed and the branch can be pushed / surfaced as a PR back to the user.
🤖 Generated with Claude Code
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗