From 7b4461feaf68f6a87deb00bafde8ea910f7467be Mon Sep 17 00:00:00 2001 From: ZHAO Jin-Xiang Date: Sat, 27 Sep 2025 22:30:04 +0800 Subject: [PATCH 1/4] claude-code: add xiaoxiangmoe as maintainer --- pkgs/by-name/cl/claude-code/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/cl/claude-code/package.nix b/pkgs/by-name/cl/claude-code/package.nix index ee1c6a6853b3..ba68def47074 100644 --- a/pkgs/by-name/cl/claude-code/package.nix +++ b/pkgs/by-name/cl/claude-code/package.nix @@ -46,6 +46,7 @@ buildNpmPackage rec { malo markus1189 omarjatoi + xiaoxiangmoe ]; mainProgram = "claude"; }; From 608284157b2020b731f462eb511078ec8eec983a Mon Sep 17 00:00:00 2001 From: ZHAO Jin-Xiang Date: Sat, 27 Sep 2025 22:29:26 +0800 Subject: [PATCH 2/4] claude-code: add version check --- pkgs/by-name/cl/claude-code/package.nix | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/cl/claude-code/package.nix b/pkgs/by-name/cl/claude-code/package.nix index ba68def47074..eb296321f2bc 100644 --- a/pkgs/by-name/cl/claude-code/package.nix +++ b/pkgs/by-name/cl/claude-code/package.nix @@ -3,16 +3,18 @@ buildNpmPackage, fetchzip, nodejs_20, + writableTmpDirAsHomeHook, + versionCheckHook, }: -buildNpmPackage rec { +buildNpmPackage (finalAttrs: { pname = "claude-code"; version = "1.0.126"; nodejs = nodejs_20; # required for sandboxed Nix builds on Darwin src = fetchzip { - url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz"; + url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz"; hash = "sha256-U6uYRkmVqMoJDAAzLHpF9G5OglPhLqPuwe6gWMQPx78="; }; @@ -24,7 +26,7 @@ buildNpmPackage rec { dontNpmBuild = true; - AUTHORIZED = "1"; + env.AUTHORIZED = "1"; # `claude-code` tries to auto-update by default, this disables that functionality. # https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview#environment-variables @@ -35,6 +37,14 @@ buildNpmPackage rec { --unset DEV ''; + doInstallCheck = true; + nativeInstallCheckInputs = [ + writableTmpDirAsHomeHook + versionCheckHook + ]; + versionCheckKeepEnvironment = [ "HOME" ]; + versionCheckProgramArg = "--version"; + passthru.updateScript = ./update.sh; meta = { @@ -50,4 +60,4 @@ buildNpmPackage rec { ]; mainProgram = "claude"; }; -} +}) From 251fcb23566a3395ca1bba774257eac853eb2696 Mon Sep 17 00:00:00 2001 From: ZHAO Jin-Xiang Date: Sat, 27 Sep 2025 20:58:23 +0800 Subject: [PATCH 3/4] claude-code: update vscode-extensions.anthropic.claude-code with claude-code --- pkgs/by-name/cl/claude-code/update.sh | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/cl/claude-code/update.sh b/pkgs/by-name/cl/claude-code/update.sh index 923307d4df3c..b9aed11abae8 100755 --- a/pkgs/by-name/cl/claude-code/update.sh +++ b/pkgs/by-name/cl/claude-code/update.sh @@ -1,15 +1,10 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p nodePackages.npm nix-update +#!nix-shell --pure -i bash --packages nodejs nix-update git set -euo pipefail version=$(npm view @anthropic-ai/claude-code version) -# Generate updated lock file -cd "$(dirname "${BASH_SOURCE[0]}")" -npm i --package-lock-only @anthropic-ai/claude-code@"$version" -rm -f package.json - # Update version and hashes -cd - -nix-update claude-code --version "$version" +AUTHORIZED=1 NIXPKGS_ALLOW_UNFREE=1 nix-update claude-code --version="$version" --generate-lockfile +nix-update vscode-extensions.anthropic.claude-code --use-update-script --version "$version" From 745e31d84d8a6859bce2201e9fb51b85742c7ec1 Mon Sep 17 00:00:00 2001 From: ZHAO Jin-Xiang Date: Sun, 28 Sep 2025 06:56:24 +0000 Subject: [PATCH 4/4] claude-code: 1.0.126 -> 1.0.128 --- .../extensions/anthropic.claude-code/default.nix | 4 ++-- pkgs/by-name/cl/claude-code/package-lock.json | 14 ++++---------- pkgs/by-name/cl/claude-code/package.nix | 6 +++--- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix index ed6a7bb2eb53..8a0bbf683b4c 100644 --- a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix +++ b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "claude-code"; publisher = "anthropic"; - version = "1.0.124"; - hash = "sha256-pqm1A8ckV38fZE6h5HKxoU3k3T4volSbmsmOZ8F6aHQ="; + version = "1.0.127"; + hash = "sha256-wR8iBlHUSb0/vEWDqDSzHpbZPHr2Nfzw/xXGccDi+28="; }; meta = { diff --git a/pkgs/by-name/cl/claude-code/package-lock.json b/pkgs/by-name/cl/claude-code/package-lock.json index 41acd208a49d..6932e5d68d38 100644 --- a/pkgs/by-name/cl/claude-code/package-lock.json +++ b/pkgs/by-name/cl/claude-code/package-lock.json @@ -1,18 +1,12 @@ { - "name": "claude-code", - "version": "1.0.17", + "name": "@anthropic-ai/claude-code", + "version": "1.0.128", "lockfileVersion": 3, "requires": true, "packages": { "": { - "dependencies": { - "@anthropic-ai/claude-code": "^1.0.126" - } - }, - "node_modules/@anthropic-ai/claude-code": { - "version": "1.0.126", - "resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.126.tgz", - "integrity": "sha512-DvzpL0LLB5nXRgJi4h+peDVys8sjfy5/QJMiketpqUd9SebTE673KnZ28lwEY4s944t/ywA80oNaJLXHMbqfcQ==", + "name": "@anthropic-ai/claude-code", + "version": "1.0.128", "license": "SEE LICENSE IN README.md", "bin": { "claude": "cli.js" diff --git a/pkgs/by-name/cl/claude-code/package.nix b/pkgs/by-name/cl/claude-code/package.nix index eb296321f2bc..8cb4f78f6eac 100644 --- a/pkgs/by-name/cl/claude-code/package.nix +++ b/pkgs/by-name/cl/claude-code/package.nix @@ -9,16 +9,16 @@ buildNpmPackage (finalAttrs: { pname = "claude-code"; - version = "1.0.126"; + version = "1.0.128"; nodejs = nodejs_20; # required for sandboxed Nix builds on Darwin src = fetchzip { url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz"; - hash = "sha256-U6uYRkmVqMoJDAAzLHpF9G5OglPhLqPuwe6gWMQPx78="; + hash = "sha256-dzLGcCgje3FMMS+Ptmxd2JK08y7z9rI0ak5l3Bv1MUk="; }; - npmDepsHash = "sha256-m+GYa3uPfkUDV+p95uQToY3n/k0JG8hbppBn0GUeV+8="; + npmDepsHash = "sha256-Ynoj85a/F9Jv4w2vRDnGqn/G6zkaPesNQNEdqAE5zOo="; postPatch = '' cp ${./package-lock.json} package-lock.json