Instructions to install goose
./build_openssl.sh
./install_goose.shGoose requires a configuration file named secrets.json in the same directory where you run the Goose commands. This file should contain your API keys and other settings in JSON format. A sample secrets.json file is provided below. Replace "your_actual_api_key" with your actual Google Gemini API key.
{
"GOOSE_PROVIDER": "google",
"GOOSE_MODEL": "gemini-2.0-flash-exp",
"GOOGLE_API_KEY": "your_actual_api_key"
}-
Create
secrets.json: Create thesecrets.jsonfile with your API key. Make sure it is valid JSON. Use a JSON validator if you are unsure. -
Make
set_env.shexecutable:
chmod +x set_env.sh- Run
set_env.sh: Before running anygoosecommands, execute theset_env.shscript:
./set_env.shThis will load the settings from secrets.json, set the environment variables, add them to your .bashrc file, and start a Goose session. If goose is not found, it will attempt to add it to the PATH. If it still cannot be found, double check your goose installation.
- Add extensions: add extensions file:
cp config.yaml ~/.config/goose/config.yaml
Troubleshooting:
jqnot found: Runsudo apt-get install jq(or the equivalent for your distribution).secrets.jsonerrors: Carefully check yoursecrets.jsonfile for syntax errors (commas, quotes, etc.). Use a JSON validator.goosenot found: Ensure that you have installed Goose correctly. The installation process should place thegooseexecutable in your PATH. If it is not in$HOME/.local/bintry/usr/local/binor wherever your installation process placed it. Check the output of yourinstall_goose.shscript. If you're using a different shell (zsh, fish, etc.), make sure to update the.bashrcreferences to the correct configuration file (e.g.,.zshrc,.config/fish/config.fish).- Input error: EOF: This error usually means that the Goose session is not receiving any input. Make sure your terminal is properly connected and that you are typing commands after the
( O)>prompt. If it happens immediately, the Goose session might be crashing. Check the Goose logs (the path is given in the output) for any error messages.