The documentation of NO_PROMPT is poor, and the option should be defined as to select the defaults.

NO_PROMPT is defined as,

NO_PROMPT: Set to 1 (true) or 0 (false) to disable or enable prompts.

However, it's not clear why setting this option provides a totally different implementation then you can get when running glab in interactive mode.

For example, here https://gitlab.com/gitlab-org/cli/-/blob/main/commands/project/create/project_create.go#L189 only if the prompt is enabled (NO_PROMPT is not set) can you call initialiseRepo. There is no other path to that code that code if NO_PROMPT is set.