[Ubuntu 24.04][Upgrade] update --fresh --yes requires interactive third-party acceptance
- Dominant language
- TypeScript
- Stars
- 22.5k
- Forks
- 3.1k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 715
Description
## Description
NemoClaw's maintained update command fails before reinstalling when it is run without a TTY, even though `--yes` was supplied to approve the update. The command starts the maintained installer without carrying third-party software acceptance into that installer invocation.
Platform scope: Reproduced on Ubuntu 24.04 only; other platforms not tested.
OpenShell issue: No.
## Environment
```text
Device: Ubuntu 24.04 x86_64 Linux test VM
OS: Ubuntu 24.04.5 LTS
Architecture: x86_64
Node.js: v22.23.2
npm: 10.9.8
Docker: Docker version 29.8.1, build 8900f1d
OpenShell CLI: openshell 0.0.116
NemoClaw: nemoclaw v0.0.124
OpenClaw: N/A (update failed before onboarding)
```
## Steps to Reproduce
1. Install the maintained NemoClaw release on an Ubuntu 24.04 x86_64 host and accept the third-party software notice during installation.
2. Run `nemoclaw update --check` and verify that the install type is `installer-managed clone`.
3. From a non-TTY session, run:
```bash
nemoclaw update --fresh --yes
```
4. Observe the exit code and output.
## Expected Result
The command skips its confirmation prompt, completes the maintained installer flow, performs a clean re-clone, and exits 0.
## Actual Result
The command starts the maintained installer, but the installer requests interactive third-party software acceptance and exits 1 before cloning:
```text
[ERROR] Interactive third-party software acceptance requires a TTY.
```
## Logs
```text
Current NemoClaw version: 0.0.124
Latest maintained version: 0.0.124
Install type: installer-managed clone
Update available: no
NemoClaw is already up to date; reinstalling anyway (--fresh) for a clean re-clone.
Running maintained NemoClaw installer...
[ERROR] Interactive third-party software acceptance requires a TTY.
Installer failed with exit 1.
```
Contributor guide
Research direction
The payload does not name a source file or test. Start at the NemoClaw CLI entry point for `nemoclaw update --fresh --yes`, trace how `--yes` is passed when launching the maintained installer, and add coverage for the non-TTY path. Done means a fresh installer-managed update completes with exit code 0 without interactive acceptance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100