clawdbot package bundles node binary, conflicts with system nodejs #6

Open
opened 2026-02-15 17:04:26 -05:00 by yindo · 3 comments
Owner

Originally created by @schickling on GitHub (Jan 26, 2026).

Problem

The clawdbot package bundles its own node binary at bin/node, which conflicts with any system-installed nodejs when both are in home.packages.

Error

pkgs.buildEnv error: two given paths contain a conflicting subpath:
  `/nix/store/...-nodejs-24.13.0/bin/node' and
  `/nix/store/...-clawdbot-2.0.0-beta5/bin/node'

Current Workaround

Users must exclude nodejs from their home-manager packages when using clawdbot:

# In home-manager config
home.packages = lib.filter 
  (pkg: !(lib.hasPrefix "nodejs" (pkg.pname or pkg.name or ""))) 
  existingPackages;

Suggested Fix

Consider one of:

  1. Don't expose node in bin/ - keep it internal to the package
  2. Rename to clawdbot-node or similar
  3. Use passthru or wrapper scripts that reference node internally without exposing it

Environment

  • nix-clawdbot from flake
  • home-manager with nodejs_24 in packages
  • macOS (darwin)
Originally created by @schickling on GitHub (Jan 26, 2026). ## Problem The clawdbot package bundles its own `node` binary at `bin/node`, which conflicts with any system-installed nodejs when both are in `home.packages`. ## Error ``` pkgs.buildEnv error: two given paths contain a conflicting subpath: `/nix/store/...-nodejs-24.13.0/bin/node' and `/nix/store/...-clawdbot-2.0.0-beta5/bin/node' ``` ## Current Workaround Users must exclude nodejs from their home-manager packages when using clawdbot: ```nix # In home-manager config home.packages = lib.filter (pkg: !(lib.hasPrefix "nodejs" (pkg.pname or pkg.name or ""))) existingPackages; ``` ## Suggested Fix Consider one of: 1. Don't expose `node` in `bin/` - keep it internal to the package 2. Rename to `clawdbot-node` or similar 3. Use `passthru` or wrapper scripts that reference node internally without exposing it ## Environment - nix-clawdbot from flake - home-manager with nodejs_24 in packages - macOS (darwin)
Author
Owner

@schickling commented on GitHub (Jan 26, 2026):

Additional conflict discovered: idle binary from Python also conflicts:

pkgs.buildEnv error: two given paths contain a conflicting subpath:
  `/nix/store/...-python3-3.14.2/bin/idle' and
  `/nix/store/...-clawdbot-2.0.0-beta5/bin/idle'

It seems clawdbot bundles multiple tools that can conflict with common system packages. The fix in PR #16 addresses nodejs, but there may be more conflicts (python's idle, possibly others).

Consider auditing all binaries exposed in bin/ and only exposing clawdbot-specific binaries.

@schickling commented on GitHub (Jan 26, 2026): Additional conflict discovered: `idle` binary from Python also conflicts: ``` pkgs.buildEnv error: two given paths contain a conflicting subpath: `/nix/store/...-python3-3.14.2/bin/idle' and `/nix/store/...-clawdbot-2.0.0-beta5/bin/idle' ``` It seems clawdbot bundles multiple tools that can conflict with common system packages. The fix in PR #16 addresses nodejs, but there may be more conflicts (python's idle, possibly others). Consider auditing all binaries exposed in `bin/` and only exposing clawdbot-specific binaries.
Author
Owner

@schickling commented on GitHub (Jan 26, 2026):

Yet another conflict: uvx from uv (Python package manager):

pkgs.buildEnv error: two given paths contain a conflicting subpath:
  `/nix/store/...-uv-0.9.26/bin/uvx' and
  `/nix/store/...-clawdbot-2.0.0-beta5/bin/uvx'

Conflicts found so far:

  • node (nodejs)
  • idle (python)
  • uvx (uv)

This is becoming a pattern - clawdbot's bin/ directory exposes many third-party tool binaries that commonly conflict with system packages.

@schickling commented on GitHub (Jan 26, 2026): Yet another conflict: `uvx` from uv (Python package manager): ``` pkgs.buildEnv error: two given paths contain a conflicting subpath: `/nix/store/...-uv-0.9.26/bin/uvx' and `/nix/store/...-clawdbot-2.0.0-beta5/bin/uvx' ``` Conflicts found so far: - `node` (nodejs) - `idle` (python) - `uvx` (uv) This is becoming a pattern - clawdbot's `bin/` directory exposes many third-party tool binaries that commonly conflict with system packages.
Author
Owner

@flacks commented on GitHub (Feb 10, 2026):

go is another conflict

@flacks commented on GitHub (Feb 10, 2026): `go` is another conflict
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: openclaw/nix-openclaw#6