Skip to content

Give 'claude mcp login' a real terminal under curl | bash - #11

Merged
BeLazy167 merged 1 commit into
mainfrom
fix/mcp-login-tty
Aug 21, 2026
Merged

Give 'claude mcp login' a real terminal under curl | bash#11
BeLazy167 merged 1 commit into
mainfrom
fix/mcp-login-tty

Conversation

@BeLazy167

Copy link
Copy Markdown
Member

First-install report from a colleague (screenshot): the MCP step always fails with

Couldn't complete authentication for "qbraid": stdin isn't a terminal, so
authentication can't be completed here.

Under curl … | bash the script's stdin is the pipe, and claude mcp login inherits it. Our own prompts already read /dev/tty explicitly — the login call didn't. It does now (< "$TTY", only reached inside the [ -n "$TTY" ] branch, so the no-terminal path is unchanged).

This is why every install so far "worked": mine were driven with QBRAID_API_KEY set and no TTY, which skips the sign-in entirely and prints the deferred-login notice. The first interactive piped install is what exposed it.

Windows is unaffected (iex keeps the console attached); comment added to say so.

Verified: shellcheck clean, bash 3.2 parse, suites green.

Reported from a colleague's first install: MCP sign-in always failed with
"stdin isn't a terminal, so authentication can't be completed here".

Under `curl … | bash` this script's stdin IS the pipe, and the login
subcommand inherits it. The prompts already read /dev/tty explicitly; the
login call now does too.
@BeLazy167
BeLazy167 merged commit b14aa37 into main Aug 21, 2026
6 checks passed
@BeLazy167
BeLazy167 deleted the fix/mcp-login-tty branch August 21, 2026 02:31
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