can't login via browserless railway cli on lxc
rghinkle
HOBBYOP

a month ago

I have railway cli on my LXC in Proxmox. It installs 4.40.2 fine. But I can't get login to work even with the --browserless argument. It shows the Open the browser? (Y/n), but immediately goes back to shell prompt without the opportunity to type y/n. I've tried passing in the key, editing config in .railway, setting $env variables, etc. Is it something to do with it being on an LXC, and i am missing a dependency?

$10 Bounty

3 Replies

Status changed to Open Railway 29 days ago


theycallmeeyy
FREE

a month ago

The issue isn’t really caused by LXC or Proxmox—it’s because the Railway CLI can’t handle interactive prompts properly in your terminal environment.

Key points:

  • The login prompt exits immediately because your session likely doesn’t have a proper TTY (interactive terminal).
  • This is common in containers, web consoles, or certain SSH setups.

Fix:

  • Skip the browser/login prompt and use a token instead:
railway login --token YOUR_TOKEN  

or

export RAILWAY_TOKEN=YOUR_TOKEN  
railway whoami  

Bottom line:

It’s a terminal/TTY limitation, not a missing dependency. Use token-based login for reliable access.


rghinkle
HOBBYOP

a month ago

Neither of those methods worked for me unfortunately. The --token is an unexpected argument. And the raliway whoami returned nothing. I removed the config.json file after that test, and tried again. Neither worked that way either.

There are options for what console mode I use in the LXC Options. 1)default tty 2) /dev/tty[X] , 3) /dev/console, 4) shell.


rghinkle
HOBBYOP

a month ago

to see if i could see anything on the console, i edited railway.js in the catch block to console.log(e). I see a little info in the logger: Error: Command failed: /usr/lib/node_modules/@railway/cli/bin/railway login --browserless

at genericNodeError (node:internal/errors:984:15)

at wrappedFn (node:internal/errors:538:14)

at checkExecSyncError (node:child_process:891:11)

at execFileSync (node:child_process:927:15)

at file:///usr/lib/node_modules/@railway/cli/bin/railway.js:11:2

at ModuleJob.run (node:internal/modules/esm/module_job:325:25)

at async ModuleLoader.import (node:internal/modules/esm/loader:606:24)

at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5) {

status: null,

signal: 'SIGSEGV',

output: [ null, null, null ],

pid: 67271,

stdout: null,

stderr: null

}


Welcome!

Sign in to your Railway account to join the conversation.

Loading...