Goose is an open-source AI coding assistant from Block (Square). It runs in your terminal and can autonomously write code, run commands, and manage files.
Prerequisites
Installation
brew install block-goose-cli
Verify installation:
Configuration
Option 1: Custom Provider (Recommended)
Create a custom provider file for Infercom.
Step 1: Create Provider Directory
mkdir -p ~/.config/goose/custom_providers
Step 2: Create Provider File
Create ~/.config/goose/custom_providers/infercom.json:
{
"id": "infercom",
"name": "Infercom (EU Sovereign)",
"description": "EU sovereign AI inference",
"api_format": "openai",
"base_url": "https://api.infercom.ai/v1",
"env_api_key": "INFERCOM_API_KEY",
"default_model": "MiniMax-M2.5",
"models": [
{
"id": "MiniMax-M2.5",
"display_name": "MiniMax M2.5 (EU)",
"context_window": 163840,
"supports_tool_calling": true
}
]
}
Step 3: Set API Key
export INFERCOM_API_KEY="your-infercom-api-key"
Add to your shell profile (~/.bashrc, ~/.zshrc) for persistence.
Select Configure Providers and choose Infercom.
Option 2: OpenAI Compatible
Use the built-in OpenAI provider with custom endpoint:
export OPENAI_API_KEY="your-infercom-api-key"
export OPENAI_HOST="https://api.infercom.ai/v1"
Then run goose configure and select OpenAI.
Model
Use MiniMax-M2.5 - optimized for agentic coding with 160K context (163,840 tokens), tool calling support, and 75.8% SWE-bench.
Goose relies heavily on tool calling. MiniMax-M2.5 fully supports this.
Usage
Interactive Session
Then chat with Goose:
> Add input validation to the signup form
Non-Interactive
goose run --text "Write a Python function to parse CSV files"
Useful Commands
| Command | Description |
|---|
goose configure | Configure providers and models |
goose session | Start interactive session |
goose run --text "..." | Non-interactive execution |
goose info | Show configuration paths |
Configuration Paths
| Item | Path |
|---|
| Config file | ~/.config/goose/config.yaml |
| Custom providers | ~/.config/goose/custom_providers/ |
| Sessions | ~/.local/share/goose/sessions/ |
| Logs | ~/.local/state/goose/logs/ |
Troubleshooting
Provider Not Showing
- Verify the JSON file is valid:
cat ~/.config/goose/custom_providers/infercom.json | python3 -m json.tool
- Check the file location is correct
- Re-run
goose configure
Authentication Failed
Verify your API key is set:
Test the connection:
curl -s https://api.infercom.ai/v1/models \
-H "Authorization: Bearer $INFERCOM_API_KEY"
MiniMax-M2.5 supports tool calling. If you see errors:
- Ensure you’re using
MiniMax-M2.5 (not other models)
- Check the model configuration includes
"supports_tool_calling": true
Next Steps