Is it normal for an active shell use not configured command?

I’m using Ubuntu 22.04 and I have an very simple config file:

{ pkgs, ... }: 

  env.GREET = "hello"; 

  packages = [ pkgs.jq ];

  enterShell = ''
    echo $GREET
    jq --version

Then I active the shell, run simple jq command, everything is OK.
Then I run curl. I’m expecting to see command not found issue but the curl command success.
Ofc on the “host” I already have curl command installed. So is this normal behavior?
Any option to prevent this?
I want to prevent the issue that I forget to specific an command/tool/libs

ah forget it, it an issue of Question: How can I create a pure shell? · Issue #330 · cachix/devenv · GitHub and I’m using devenv.
better to just use default nix-shell