claude: say on stderr when the hive's pinned claude-code is missing
A set HYPERHIVE_CLAUDE_CODE_PATH whose build is gone (collected after a bump while the container still holds the old facts) made the wrapper run the container's own claude-code silently, which can be a different version. It now prints one line naming the missing path. Refs #4857
This commit is contained in:
parent
9113651c10
commit
9b1fe85706
3 changed files with 17 additions and 7 deletions
|
|
@ -40,7 +40,9 @@ let
|
|||
# store path over at container start as `HYPERHIVE_CLAUDE_CODE_PATH`, and
|
||||
# the host's system closure keeps it alive: nothing in this container
|
||||
# references it. With no pin, or a path that is not there, this container's
|
||||
# own claude-code runs. `exec -a claude` keeps the bare name in argv[0],
|
||||
# own claude-code runs; a pin that is set but gone (collected after a bump
|
||||
# while this container still holds the old facts) says so on stderr, since
|
||||
# the two builds can differ. `exec -a claude` keeps the bare name in argv[0],
|
||||
# which is how the harness finds its claude child (`find_claude_child`).
|
||||
ownClaude = import ../claude-code-no-alsa.nix lib pkgs.claude-code;
|
||||
claude = pkgs.writeShellScriptBin "claude" ''
|
||||
|
|
@ -48,6 +50,9 @@ let
|
|||
if [ -n "$pinned" ] && [ -x "$pinned/bin/claude" ]; then
|
||||
exec -a claude "$pinned/bin/claude" "$@"
|
||||
fi
|
||||
if [ -n "$pinned" ]; then
|
||||
echo "claude: $pinned/bin/claude, the hive's pinned claude-code, is missing; running this container's own" >&2
|
||||
fi
|
||||
exec -a claude ${ownClaude}/bin/claude "$@"
|
||||
'';
|
||||
in
|
||||
|
|
|
|||
Loading…
Reference in a new issue