Skip to content

Conversation

@prempyla
Copy link
Contributor

@prempyla prempyla commented Oct 3, 2025

Problem

Goose CLI install script shows Unix-style PATH instructions on Windows (e.g., .bashrc, .zshrc).
This confuses Windows users, who primarily use PowerShell.

Before

Warning: goose installed, but /home/rob-admin/.local/bin is not in your PATH.
Add it to your PATH by editing ~/.bashrc, ~/.zshrc, or similar...

After

Warning: goose installed, but C:\Users\<user>\.local\bin is not in your PATH.
To add goose to your PATH in PowerShell:

$profilePath = $PROFILE
if (!(Test-Path $profilePath)) { New-Item -Path $profilePath -ItemType File -Force }
Add-Content -Path $profilePath -Value '$env:PATH = "$env:USERPROFILE\.local\bin;$env:PATH"'
. $PROFILE

Alternatively: goose configure

Fix

  • Detect Windows and show PowerShell instructions.
  • Keep Bash/Zsh for Unix systems.
  • Added alternatives: goose configure or rerun script.

Benefit

Clearer setup for Windows users → less confusion, smoother onboarding.

@prempyla prempyla force-pushed the fix/windows-path-warning branch from 7425bf4 to 686e32d Compare October 3, 2025 19:51
download_cli.sh Outdated
fi
echo ""
fi
# ...existing code...
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we remove this comment? there's no other 'existing code' at the point.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah this is a good catch. remove the comment line 241 too

download_cli.sh Outdated
echo " goose configure"
echo "or rerun this install script after updating your PATH."
else
echo "Add it to your PATH by editing ~/.bashrc, ~/.zshrc, or similar:"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if they're on windows, we probably don't want to repeat bash/zsh/etc instructions here, that was the point of the Add-Content call for powershell, correct?

@prempyla
Copy link
Contributor Author

prempyla commented Oct 3, 2025

Hi @iandouglas,
I updated the Windows PATH instructions to only show PowerShell guidance, without repeating bash/zsh instructions.

echo '. $PROFILE'
echo ""
echo "Alternatively, you can run:"
echo " goose configure"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One last comment here -- you're presenting this 'alternative' on line 256 and 264 almost like it's something they can do INSTEAD of modifying their path? How does running 'goose configure' help set up their PATH on their behalf if this download script couldn't do it?

I kinda feel like we could get more intelligent here, where we just prompt the user "hey do you want me to add the goose installation folder to your PATH environment" and just go run these commands or a an echo "export PATH=/goose/bin/etc:$PATH" >> ~/.bashrc because we could determine from $SHELL which shell they're using on a Mac/Linux system.

maybe something like:

The $GOOSE_BIN_DIR is not in your path, what would you like to do:

  1. Add it for me
  2. I'll add it myself, give me instructions

and then if they're on Linux/Mac we could prompt them regardless of their choice:

We think you're using $SHELL, should we add it to ~/.$(basename $SHELL)rc for you?

@prempyla
Copy link
Contributor Author

prempyla commented Oct 3, 2025

Hi @iandouglas,
I updated the PATH instructions to be interactive for Mac/Linux, automatically detecting the user’s shell and offering to add $GOOSE_BIN_DIR to their PATH, while keeping PowerShell instructions for Windows. The old “goose configure” alternative is no longer needed in the prompt

@prempyla prempyla force-pushed the fix/windows-path-warning branch from c30c3e9 to 755dd2c Compare October 3, 2025 21:02
@prempyla prempyla force-pushed the fix/windows-path-warning branch from 755dd2c to b65f917 Compare October 3, 2025 21:10
echo " goose configure"
echo "or rerun this install script after updating your PATH."
else
SHELL_NAME=$(basename "$SHELL")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The scope expanded a bit on this PR and feels like one we'd want to now test a bit on different envs/shells to make sure there are no hitches.

Either that or we go back to only adding the improvement for windows, which I think was great as it was after iterations with @iandouglas !

@prempyla
Copy link
Contributor Author

prempyla commented Oct 4, 2025

Thanks for the feedback! @iandouglas @alexhancock I see two possible paths here:

I can revert this PR back to just the Windows PATH fix (which was already reviewed positively) so it’s small and mergeable quickly.

Or, I can continue with the broader interactive improvement, and test it on macOS (zsh & bash) and Linux via Docker. For Windows, I’d need help testing or I could try adding a CI job to cover it.

Which direction would you prefer for this repo?

@DOsinga DOsinga merged commit 5165155 into block:main Oct 4, 2025
10 checks passed
zanesq added a commit that referenced this pull request Oct 4, 2025
…-unification

* 'main' of github.com:block/goose:
  feat: set custom models for lead/worker (#4598)
  feat: add grok-code-fast-1 support for xAI provider (#4472)
  Persist dynamic extension config so we can resume recipe sessions w/ extensions (#4331)
  fix: show PowerShell PATH instructions for Windows users (#4989)
  feat: add Smart Task Organizer recipe for Hacktoberfest (#4936)
  Fix extension headers (#5000)
  feat: add advanced software project generator initializer recipe (#4767) (#4949)
lifeizhou-ap added a commit that referenced this pull request Oct 6, 2025
* main: (22 commits)
  fix: Issue #4540: `goose configure` -> Cursor Agent succeeds (#4942)
  feat: Add advanced data analysis pipeline recipe (#4990) (#5005)
  Create / edit recipe form unification and improvements (#4693)
  feat: add Code Review Mentor recipe with Developer and Memory extensions (#4992) (#5014)
  feat: set custom models for lead/worker (#4598)
  feat: add grok-code-fast-1 support for xAI provider (#4472)
  Persist dynamic extension config so we can resume recipe sessions w/ extensions (#4331)
  fix: show PowerShell PATH instructions for Windows users (#4989)
  feat: add Smart Task Organizer recipe for Hacktoberfest (#4936)
  Fix extension headers (#5000)
  feat: add advanced software project generator initializer recipe (#4767) (#4949)
  Removed unused libs (#4932)
  Platform extensions sketch (#4868)
  Add reply to the routes (#4963)
  feat(cli): add GOOSE_DEBUG environment variable support (#4825)
  docs: Change community page sections (#4984)
  docs: remove temporary Hacktoberfest issue templates (#4982)
  Create multi-channel researcher prompt (#4947)
  docs: Add Community Content section to Community Page (#4964)
  Allow empty API Key when registering custom provider (#4977)
  ...
wpfleger96 added a commit to wpfleger96/goose that referenced this pull request Oct 6, 2025
* main: (130 commits)
  Add new subcommand for opening recipes in desktop app (block#4970)
  Update system.md with softer subagent language (block#5023)
  docs: add new goose tip (block#4941)
  Fix nix flake double copy (block#4976)
  Upgrade electron for macOS Tahoe compatibility (block#5015)
  fix: check server is ready so that we can decode the recipe deeplink (block#5021)
  fix: backwards compatible parsing recipe file (block#5020)
  chore: Used common function to list recipes in local machine (block#4974)
  fix: Issue block#4540: `goose configure` -> Cursor Agent succeeds (block#4942)
  feat: Add advanced data analysis pipeline recipe (block#4990) (block#5005)
  Create / edit recipe form unification and improvements (block#4693)
  feat: add Code Review Mentor recipe with Developer and Memory extensions (block#4992) (block#5014)
  feat: set custom models for lead/worker (block#4598)
  feat: add grok-code-fast-1 support for xAI provider (block#4472)
  Persist dynamic extension config so we can resume recipe sessions w/ extensions (block#4331)
  fix: show PowerShell PATH instructions for Windows users (block#4989)
  feat: add Smart Task Organizer recipe for Hacktoberfest (block#4936)
  Fix extension headers (block#5000)
  feat: add advanced software project generator initializer recipe (block#4767) (block#4949)
  Removed unused libs (block#4932)
  ...
Itz-Agasta pushed a commit to Itz-Agasta/goose that referenced this pull request Oct 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants