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 ee1c6a6853b3..8cb4f78f6eac 100644 --- a/pkgs/by-name/cl/claude-code/package.nix +++ b/pkgs/by-name/cl/claude-code/package.nix @@ -3,20 +3,22 @@ buildNpmPackage, fetchzip, nodejs_20, + writableTmpDirAsHomeHook, + versionCheckHook, }: -buildNpmPackage rec { +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-${version}.tgz"; - hash = "sha256-U6uYRkmVqMoJDAAzLHpF9G5OglPhLqPuwe6gWMQPx78="; + url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz"; + hash = "sha256-dzLGcCgje3FMMS+Ptmxd2JK08y7z9rI0ak5l3Bv1MUk="; }; - npmDepsHash = "sha256-m+GYa3uPfkUDV+p95uQToY3n/k0JG8hbppBn0GUeV+8="; + npmDepsHash = "sha256-Ynoj85a/F9Jv4w2vRDnGqn/G6zkaPesNQNEdqAE5zOo="; postPatch = '' cp ${./package-lock.json} package-lock.json @@ -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 = { @@ -46,7 +56,8 @@ buildNpmPackage rec { malo markus1189 omarjatoi + xiaoxiangmoe ]; mainProgram = "claude"; }; -} +}) 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"