Give 'claude mcp login' a real terminal under curl | bash - #11
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First-install report from a colleague (screenshot): the MCP step always fails with
Under
curl … | bashthe script's stdin is the pipe, andclaude mcp logininherits it. Our own prompts already read/dev/ttyexplicitly — 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_KEYset 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 (
iexkeeps the console attached); comment added to say so.Verified: shellcheck clean, bash 3.2 parse, suites green.