hermes - ✅(Solved) Fix [Bug]: Build failure in Nix flake: `npmDepsHash` is out of date for `hermes-tui` [2 pull requests, 2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#19760Fetched 2026-05-05 06:05:19
View on GitHub
Comments
2
Participants
2
Timeline
10
Reactions
0
Author
Participants
Timeline (top)
labeled ×4commented ×2cross-referenced ×2subscribed ×2

When building the Nix flake, the evaluation fails at the hermes-tui fixed-output derivation. The package-lock.json in the ui-tui directory was recently updated (changes involving nanostores and peer flags), but the corresponding npmDepsHash in nix/tui.nix was not updated to reflect this new dependency tree.

Error Message

> Validating consistency between /build/ui-tui/package-lock.json and /nix/store/...-npm-deps/package-lock.json
> 15d14
> <         "nanostores": "^1.2.0",
> 5306a5306
> >       "peer": true,
> 
> ERROR: npmDepsHash is out of date

Root Cause

Root Cause Analysis (optional)

Fix Action

Fixed

PR fix notes

PR #19766: fix(nix): update npmDepsHash for hermes-tui

Description (problem / solution / changelog)

What does this PR do?

This PR updates the npmDepsHash in nix/tui.nix to match the current package-lock.json inside the ui-tui directory.

The previous hash was causing a fixed-output derivation hash mismatch during the Nix flake build due to recent dependency updates (nanostores, etc.). I have verified that the web component still builds correctly and does not require a hash update.

Related Issue

<!-- Link the issue this PR addresses. If no issue exists, consider creating one first. -->

Fixes #19760

Type of Change

<!-- Check the one that applies. -->
  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 🔒 Security fix
  • 📝 Documentation update
  • ✅ Tests (adding or improving test coverage)
  • ♻️ Refactor (no behavior change)
  • 🎯 New skill (bundled or hub)

Changes Made

  • Updated the hardcoded hash value in the npmDeps derivation inside nix/tui.nix to correctly match the updated package-lock.json in the ui-tui directory.

How to Test

  1. Checkout the main branch and attempt to build the TUI component using Nix: nix build .#tui. It will fail with an ERROR: npmDepsHash is out of date.
  2. Checkout this PR's branch.
  3. Run nix build .#tui again. Observe that the build now successfully completes.
  4. Run nix build .#web to verify that the web component still builds successfully and was not affected by this change.

Checklist

<!-- Complete these before requesting review. -->

Code

  • I've read the Contributing Guide
  • My commit messages followConventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)
  • I've run pytest tests/ -q and all tests pass (N/A for Nix builds)
  • I've added tests for my changes (N/A, the Nix flake evaluation and build itself acts as the test)
  • I've tested on my platform: NixOS unstable (x86_64-linux)

Documentation & Housekeeping

<!-- Check all that apply. It's OK to check "N/A" if a category doesn't apply to your change. -->
  • I've updated relevant documentation (README, docs/, docstrings) — or N/A
  • I've updated cli-config.yaml.example if I added/changed config keys — or N/A
  • I've updated CONTRIBUTING.md or AGENTS.md if I changed architecture or workflows — or N/A
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide — or N/A
  • I've updated tool descriptions/schemas if I changed tool behavior — or N/A

Screenshots / Logs

Error log on main before this fix:

> Validating consistency between /build/ui-tui/package-lock.json and /nix/store/...-npm-deps/package-lock.json
> 15d14
> <         "nanostores": "^1.2.0",
> 5306a5306
> >       "peer": true,
> 
> ERROR: npmDepsHash is out of date

## Changed files

- `nix/tui.nix` (modified, +1/-1)


---

# PR #19764: fix(nix): hermes-tui hash missmatch

- Repository: NousResearch/hermes-agent
- Author: smdex
- State: closed | merged: False
- Link: https://github.com/NousResearch/hermes-agent/pull/19764

## Description (problem / solution / changelog)

## What does this PR do?

Fixes build of Nix derivation (package) caused by incorrect hash of npm deps in package `hermes-tui`.



## Related Issue

<!-- Link the issue this PR addresses. If no issue exists, consider creating one first. -->

Fixes #

## Type of Change

<!-- Check the one that applies. -->

- [x] 🐛 Bug fix (non-breaking change that fixes an issue)
- [ ] ✨ New feature (non-breaking change that adds functionality)
- [ ] 🔒 Security fix
- [ ] 📝 Documentation update
- [ ] ✅ Tests (adding or improving test coverage)
- [ ] ♻️ Refactor (no behavior change)
- [ ] 🎯 New skill (bundled or hub)

## Changes Made

<!-- List the specific changes. Include file paths for code changes. -->

- 

## How to Test

<!-- Steps to verify this change works. For bugs: reproduction steps + proof that the fix works. -->

1. `nix build --print-out-paths .#default`
2. 
3. 

## Checklist

<!-- Complete these before requesting review. -->

### Code

- [x] I've read the [Contributing Guide](https://github.com/NousResearch/hermes-agent/blob/main/CONTRIBUTING.md)
- [x] My commit messages follow [Conventional Commits](https://www.conventionalcommits.org/) (`fix(scope):`, `feat(scope):`, etc.)
- [x] I searched for [existing PRs](https://github.com/NousResearch/hermes-agent/pulls) to make sure this isn't a duplicate
- [x] My PR contains **only** changes related to this fix/feature (no unrelated commits)
- [ ] I've run `pytest tests/ -q` and all tests pass
- [ ] I've added tests for my changes (required for bug fixes, strongly encouraged for features)
- [x] I've tested on my platform: Linux x86_64

### Documentation & Housekeeping

<!-- Check all that apply. It's OK to check "N/A" if a category doesn't apply to your change. -->

- [ ] I've updated relevant documentation (README, `docs/`, docstrings) — or N/A
- [ ] I've updated `cli-config.yaml.example` if I added/changed config keys — or N/A
- [ ] I've updated `CONTRIBUTING.md` or `AGENTS.md` if I changed architecture or workflows — or N/A
- [ ] I've considered cross-platform impact (Windows, macOS) per the [compatibility guide](https://github.com/NousResearch/hermes-agent/blob/main/CONTRIBUTING.md#cross-platform-compatibility) — or N/A
- [ ] I've updated tool descriptions/schemas if I changed tool behavior — or N/A

## For New Skills

<!-- Only fill this out if you're adding a skill. Delete this section otherwise. -->

- [ ] This skill is **broadly useful** to most users (if bundled) — see [Contributing Guide](https://github.com/NousResearch/hermes-agent/blob/main/CONTRIBUTING.md#should-the-skill-be-bundled)
- [ ] SKILL.md follows the [standard format](https://github.com/NousResearch/hermes-agent/blob/main/CONTRIBUTING.md#skillmd-format) (frontmatter, trigger conditions, steps, pitfalls)
- [ ] No external dependencies that aren't already available (prefer stdlib, curl, existing Hermes tools)
- [ ] I've tested the skill end-to-end: `hermes --toolsets skills -q "Use the X skill to do Y"`

## Screenshots / Logs

<!-- If applicable, add screenshots or log output showing the fix/feature in action. -->

## Changed files

- `nix/tui.nix` (modified, +1/-1)

Code Example

> Validating consistency between /build/ui-tui/package-lock.json and /nix/store/...-npm-deps/package-lock.json
> 15d14
> <         "nanostores": "^1.2.0",
> 5306a5306
> >       "peer": true,
> 
> ERROR: npmDepsHash is out of date

### Steps to Reproduce

Run the standard flake build for the TUI on a NixOS machine or via Nix package manager:
nix build .#tui

### Expected Behavior

The derivation should fetch the dependencies matching the current package-lock.json and build successfully.

### Actual Behavior

> Validating consistency between /build/ui-tui/package-lock.json and /nix/store/...-npm-deps/package-lock.json
> 15d14
> <         "nanostores": "^1.2.0",
> 5306a5306
> >       "peer": true,
> 
> ERROR: npmDepsHash is out of date

### Affected Component

CLI (interactive chat)

### Messaging Platform (if gateway-related)

_No response_

### Debug Report

---

### Operating System

NixOS

### Python Version

_No response_

### Hermes Version

_No response_

### Additional Logs / Traceback (optional)
RAW_BUFFERClick to expand / collapse

Bug Description

Description

When building the Nix flake, the evaluation fails at the hermes-tui fixed-output derivation. The package-lock.json in the ui-tui directory was recently updated (changes involving nanostores and peer flags), but the corresponding npmDepsHash in nix/tui.nix was not updated to reflect this new dependency tree.

Logs

> Validating consistency between /build/ui-tui/package-lock.json and /nix/store/...-npm-deps/package-lock.json
> 15d14
> <         "nanostores": "^1.2.0",
> 5306a5306
> >       "peer": true,
> 
> ERROR: npmDepsHash is out of date

### Steps to Reproduce

Run the standard flake build for the TUI on a NixOS machine or via Nix package manager:
nix build .#tui

### Expected Behavior

The derivation should fetch the dependencies matching the current package-lock.json and build successfully.

### Actual Behavior

> Validating consistency between /build/ui-tui/package-lock.json and /nix/store/...-npm-deps/package-lock.json
> 15d14
> <         "nanostores": "^1.2.0",
> 5306a5306
> >       "peer": true,
> 
> ERROR: npmDepsHash is out of date

### Affected Component

CLI (interactive chat)

### Messaging Platform (if gateway-related)

_No response_

### Debug Report

```shell
-

Operating System

NixOS

Python Version

No response

Hermes Version

No response

Additional Logs / Traceback (optional)

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

No response

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

extent analysis

TL;DR

Update the npmDepsHash in nix/tui.nix to reflect the new dependency tree in package-lock.json.

Guidance

  • Verify that the package-lock.json in the ui-tui directory has been updated with the new dependencies, specifically the changes involving nanostores and peer flags.
  • Update the npmDepsHash in nix/tui.nix to match the new dependency tree.
  • Run nix build .#tui again to test if the derivation builds successfully.
  • Check the npmDepsHash calculation process to ensure it accounts for the updated package-lock.json and peer dependencies.

Example

No code snippet is provided as the issue does not require a specific code change, but rather an update to the npmDepsHash value.

Notes

The fix assumes that the npmDepsHash calculation process is correctly implemented and only needs to be updated with the new dependency information.

Recommendation

Apply workaround: Update the npmDepsHash in nix/tui.nix to reflect the new dependency tree, as this directly addresses the error message indicating that the npmDepsHash is out of date.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - ✅(Solved) Fix [Bug]: Build failure in Nix flake: `npmDepsHash` is out of date for `hermes-tui` [2 pull requests, 2 comments, 2 participants]