[BUG]

Status Open
Reported on v2.1.223
Maintainer reply None cached
Activity 0 comments · opened Aug 6, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

A session created from a Claude Design handoff (claude.ai/design → "send to Claude Code") receives the design bundle but no repository, and there is no way to get one afterwards. All three documented paths out of this are blocked in the same environment:

  1. add_repo mid-session registers the repo but provisions no git credentials, so any private clone fails with a 401.
  2. Design handoff session creation does not offer repo/source selection, so the bundle and the repo are mutually exclusive at creation time.
  3. /design-sync — the documented two-way bridge that would solve this — requires /design-login, which requires an interactive terminal and is unavailable in web sessions.

Net effect: a user with designs in Claude Design and code in GitHub cannot get the two into the same session by any supported route. The only way out is manually downloading an archive and committing it by hand, which is exactly what these features exist to avoid.

Environment

  • Claude Code on the web (remote execution environment). Claude Code 2.1.223
  • Session originated from a Claude Design handoff bundle ("Build request" project)
  • Platform: Linux 6.18.5-fc-v18
  • Target repo: private, owned by the same account running the session
  • Both the Claude and Claude Design Import GitHub Apps installed on the account
  • Individual plan (no access to organization settings)

Repro

  1. In claude.ai/design, trigger a handoff to Claude Code for a project.
  2. In the resulting session, call add_repo for a private repo owned by the same account.
  3. Attempt the clone the tool instructs you to run.

Actual behaviour

add_repo reports success:

{"repo":"repo_name","status":"appended","workspace":"/home/claude/repo"}

The clone it tells you to run then fails:

$ git clone --depth 1 https://github.com/user/repo /home/claude/repo
Cloning into '/home/claude/repo...
fatal: could not read Username for 'https://github.com': No such device or address

The container has no git credentials of any kind:

$ git config --global --get-all credential.helper
(empty)

$ ls ~/.git-credentials /home/claude/.git-credentials
ls: cannot access '/root/.git-credentials': No such file or directory
ls: cannot access '/home/claude/.git-credentials': No such file or directory

$ env | grep -oE '^[A-Z_]*(TOKEN|GH|GITHUB)[A-Z_]*'
MAX_THINKING_TOKENS
CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR
PLAYWRIGHT_BROWSERS_PATH
CLAUDE_SESSION_INGRESS_TOKEN_FILE

This is not the network policy — GitHub is reachable:

$ curl -sS -o /dev/null -w "%{http_code}" https://github.com/
200

Re-calling add_repo returns status: already_present and does not provision credentials. Retried across sandboxed and unsandboxed execution; identical result.

DesignSync is also unavailable:

DesignSync needs design-system authorization, but /design-login requires an
interactive terminal and is not available in this environment.

What Should Happen?

Any one of these would resolve it:

  • add_repo provisions working git credentials for repos it reports as successfully attached. Today it returns success and a workspace path for an operation that cannot succeed.
  • Design handoff session creation offers source/repo selection, so a session can start with both the bundle and the repo.
  • /design-login works without an interactive terminal in web sessions (device-code flow, or browser auth like the initial login), unblocking /design-sync.

Severity / impact

High for the specific workflow these features were built for. Claude Design's handoff and Claude Code's GitHub integration are advertised as complementary, and the Claude Design Import GitHub App exists to connect them — but in a handoff session the combination is unreachable. The user is left choosing between their designs or their codebase.

Notes

  • add_repo returning status: appended with a workspace path for a repo that cannot be cloned is itself worth fixing. A clear "credentials unavailable in this environment" error would have saved a long, frustrating diagnosis.
  • The tool's own guidance ("do NOT pre-check the repo, the backend performs the real authorization check") sets the expectation that a success response means the repo is reachable. Here it does not.

Error Messages/Logs

Steps to Reproduce

Repro

  1. In claude.ai/design, trigger a handoff to Claude Code for a project.
  2. In the resulting session, call add_repo for a private repo owned by the same account.
  3. Attempt the clone the tool instructs you to run.

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

Claude Code 2.1.223

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗