First time here? Complete the Setup guide first to install GAIA and its dependencies.
Prerequisites
- GAIA installed (see Setup).
- A local model available — run
gaia initif you haven’t set one up. By default the agent uses the local Lemonade backend. - Network access for web search and page fetches.
Quick Start
Run a single research task with-q:
Tools
gaia browse --list-tools prints the exact tools available in your installed version. The focused Browser Agent registers three:
A typical run chains them:
search_web to find candidate sources, fetch_page to read the promising ones, and download_file only when the user needs a local copy. Binary URLs (PDFs, archives, images) that fetch_page hits are reported as binary with a suggestion to use download_file instead.
Download path validation
download_file writes are guarded by GAIA’s PathValidator:
- Allowlist — by default the agent may write to
~/Downloads. Pass--allowed-pathsto permit additional directories. In an interactive terminal an out-of-allowlist path prompts you for confirmation; in the Agent UI / API server it is auto-denied. - Blocklist — sensitive directories (e.g.
/etc,~/.ssh) and sensitive filenames (e.g..env,credentials.json) are refused even if the allowlist would otherwise permit them; a file that resolves to a blocked name after download is deleted.
gaia analyze for structured data work, or gaia chat when you need the broader mixed tool set.
Flag Reference
All flags are shown bygaia browse -h.
Example: a multi-step research run
--stats to see timing and token counts, or --trace to write a full JSON execution trace for debugging.
Model and Backend Options
By default,gaia browse uses the local Lemonade backend with the agent’s auto-selected default model. Override the model or switch backends with the common agent flags:
--model for simple single-fetch tasks on lighter hardware, or use --use-claude when you want the highest-quality synthesis and don’t need everything to stay local.
In the Agent UI the browser appears as a single web card with a model-size selector — pick Lite (~4B) for shorter browser tasks on lighter hardware, or Full for the default model. (The old web-lite registry ID still resolves to web on the lite tier for existing sessions.)
When to use browse vs. chat vs. analyze
Keeping the tool surface small matters for smaller local models: fewer tools means a shorter system prompt and more accurate tool-calling, which is why the focused Browser Agent exists alongside the full chat agent.
Troubleshooting
No search results / search errors
No search results / search errors
search_web uses DuckDuckGo and can fail on rate limits or transient network issues. Retry, refine your query, or skip search entirely by giving the agent a direct URL to fetch_page.A page comes back empty or truncated
A page comes back empty or truncated
fetch_page does not run JavaScript, so JS-heavy or login-gated pages may return little content. Try a static/print version of the page, or raise the character cap via the tool’s max_length (up to 20,000). Very long pages are truncated with a ... (truncated) marker.Download denied or blocked
Download denied or blocked
Downloads outside
~/Downloads require --allowed-paths, and sensitive directories/filenames are always blocked. In the Agent UI / API server, out-of-allowlist paths are auto-denied (no interactive prompt). Pass an explicit --allowed-paths target and retry.Lemonade server not reachable
Lemonade server not reachable
Ensure a model is set up (
gaia init) and the server is running, or point at a remote one with --base-url. Use --no-lemonade-check only for CI/testing without a backend.Next Steps
Analyst Agent
Load structured rows into scratchpad tables and query them with SQL.
Document Q&A
The full chat agent with RAG, memory, and the broader tool set.
CLI Reference
Every
gaia command and flag.All Guides
Browse every GAIA agent.