[Feature Request] Add native Nix/NixOS support or maintain npm installation method

Status Open
Reported on v2.1.15
Maintainer reply None cached
Activity 6 comments · opened Jan 22, 2026

Bug Description
I run a Nixos machine and have been happily using the npm install to keep myself current. This is now deprecated in favour of claude install native installer which does not work on Nix/NixOs. I worry that you are deprecating the easiest install method for Nixos and it won't be followed with anything to fill the gap. The native installer requires significant effort to port to a nix flake which will mean that many Nix users are going to be left behind. Please will you either bake in Nix support or avoid discontinuing the npm install method

Environment Info

  • Platform: linux
  • Terminal: ghostty
  • Version: 2.1.15
  • Feedback ID: a43b4b0f-01b4-4901-9c45-c07c61f53192

Errors

[{"error":"Error: ENOENT: no such file or directory, scandir '/etc/claude-code/.claude/skills'\n    at Module.readdirSync (node:fs:1569:26)\n    at file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:9:1766\n    at UX (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:8:34567)\n    at Object.readdirSync (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:9:1736)\n    at fw1 (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:1540:369)\n    at file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:1540:4279\n    at q (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:8:6808)\n    at DT2 (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:4183:4362)\n    at file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:4183:6961\n    at q (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:8:6808)","timestamp":"2026-01-22T07:39:25.378Z"},{"error":"Error: ENOENT: no such file or directory, scandir '/home/barrulus/.claude/skills'\n    at Module.readdirSync (node:fs:1569:26)\n    at file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:9:1766\n    at UX (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:8:34567)\n    at Object.readdirSync (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:9:1736)\n    at fw1 (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:1540:369)\n    at file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:1540:4322\n    at q (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:8:6808)\n    at DT2 (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:4183:4362)\n    at file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:4183:6961\n    at q (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:8:6808)","timestamp":"2026-01-22T07:39:25.378Z"},{"error":"AggregateError\n    at X9A.from (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:26:8257)\n    at AP.<anonymous> (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:44:9979)\n    at AP.emit (node:events:508:28)\n    at AP.emit (node:domain:489:12)\n    at WE1.<computed> (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:43:1117)\n    at ClientRequest.emit (node:events:520:35)\n    at ClientRequest.emit (node:domain:489:12)\n    at emitErrorEvent (node:_http_client:108:11)\n    at TLSSocket.socketErrorListener (node:_http_client:575:5)\n    at TLSSocket.emit (node:events:508:28)\n    at FjA.request (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:46:2130)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async y01 (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:2284:15357)\n    at async K_A (file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:2284:15581)\n    at async Promise.all (index 0)\n    at async file:///home/barrulus/tools/node_modules/@anthropic-ai/claude-code/cli.js:3891:13558","timestamp":"2026-01-22T07:39:25.880Z"}]

View original on GitHub ↗

6 Comments

manveru · 7 months ago

we have an issue open at https://github.com/sadjow/claude-code-nix/issues/165 if you want to contribute to or try out the derivation I made.
But I agree, I think the new binary distribution has mainly two purposes:

  • one is that Bun offers better performance but most people will use nodejs to run Claude and thus have worse experience for no good reason
  • it makes patching and modifying or analyzing the CLI code a bit harder, so I assume they take that as a win given their recent crackdown on the alternative harnesses

In the long run, as long as they keep using Javascript, I don't see it significantly hampering reverse engineering of the client, but it does make reliably applying fixes for NixOS a lot harder since binary patches are even more fragile and they often introduce hardcoded paths like /usr/bin/bash that just won't work.
Maybe in the future we'll have to wrap it fully in a FHS environment to avoid too heavy maintenance.
For my part, I'll think long and hard before renewing my subscription again, I'm no fan of closed source in general, but being actively hostile to your own userbase will no doubt bite them in the future when the moat they're building dries out.
Just wait until they introduce DRM.

lispstudent · 7 months ago

+1 Same here, for a different platform: illumos/solaris. It works with npm, it won't work with other systems. Please do not deprecate npm.

guiambros · 5 months ago

Same here, on NixOS. Worth mentioning that NixOS is growing fast, and its community tends to be more experienced and tech-savvy than the typical linux user [1], which is exactly the primary audience for Claude.

Hope to see at least npm not being deprecated, and ideally a NixOS package officially maintained by Anthropic.

[1] https://discourse.nixos.org/t/nix-community-survey-2024-results/55403

sbpro86 · 5 months ago

Any workaround on NixOS to support the installer ?

barrulus · 5 months ago
Any workaround on NixOS to support the installer ?

So I am using the route referenced by @manveru above...

    claude-code = {
      url = "github:sadjow/claude-code-nix";
      inputs.nixpkgs.follows = "nixpkgs";
    };

It works well for me so far but it is a work-around rather than NixOs support from Anthropic which is still lacking

realnedsanders · 4 months ago

Latest release v2.1.113 breaks npm install method on NixOS 👎