Skip to content

v0.25.2

Choose a tag to compare

@github-actions github-actions released this 29 Oct 16:24
· 125 commits to main since this release
7988b7a

GAIA v0.25.2 Release Notes

What's New

  • The Agent UI and the terminal UI tell you when an update is out and install it only when you ask. Auto-update is a setting, off by default. (PR #5730)
  • The Agent UI streams GAIA's work as a live timeline of its notes, steps and thinking. (PR #5966)
  • GAIA chats show what fills the context window, and skills that work together now combine in one turn. (PRs #5746, #5422)
  • Start a new chat in a folder you pick from its folder chip, rename a chat from its sidebar row, and search chats from the top of the sidebar. (PRs #5826, #5961, #5828, #5868)
  • Settings > Skills groups skills by where they came from, and the file browser hides dot entries behind a Show hidden toggle. (PRs #5830, #5834)
  • A write request relayed from another window names where the file will land. (PR #5783)

Bug Fixes

A selection of the user-visible fixes; the full list is in the changelog below.

  • gaia init installs the GAIA agent even when Lemonade or model setup fails, and the Windows installer keeps %VARS% in your user PATH. (PRs #5802, #5809)
  • An update replaces a running agent and restarts it. The daemon no longer restarts mid-turn: one left on the previous release keeps running, with a notice, until gaia daemon restart. A crashed Lemonade check is reported as a failed check. (PRs #5747, #5847, #5779)
  • gaia init replaces a release candidate's agent build with the published one, so final-release agent fixes reach people who updated from an RC. (PR #5831)
  • The desktop app waits on "Starting GAIA…" until the backend is listening, reads the installed version without starting Python, and first-run setup shows the real state of this PC with the right model-server advice. (PRs #5916, #5919, #5825)
  • AMD LLM Gateway models answer right after GAIA starts Lemonade itself, and the terminal UI checks a saved gateway default as a cloud model. (PRs #5959, #5992)
  • GAIA no longer reports Lemonade ready when the context-size re-check fails, and cloud models no longer set the local context ceiling. (PRs #5793, #5813)
  • A request to run something now gets an answer back when nothing ran, instead of silence. (PR #5753)
  • Claude models keep their reasoning across tool calls, because thinking blocks are sent back with their tool turn. (PR #5072)
  • One malformed tool call no longer ends the turn — non-object tool arguments are recovered. (PR #5732)
  • A turn bigger than the history budget, such as a pasted log, is kept in shortened form instead of being dropped along with the turns before it. (PR #5864)
  • A write outside the chat's folders asks once and names where the file lands, a relative file name lands in the chat's folder, and "my Documents" means your Documents folder. (PRs #5815, #5861, #5844)
  • Asking about a folder in your home folder, such as Videos, leads GAIA to ask for that folder instead of saying it can't reach your home folder. (PR #5822)
  • Shell checks understand Windows paths with backslashes, and gh repo names and API routes are no longer treated as file paths. (PRs #5794, #5751)
  • On macOS, the agent's shell sees your login PATH when GAIA is opened from Finder or the Dock, so tools installed with Homebrew or similar are found. (PR #5867)
  • run_python runs in a scratch folder when the repo around it is not approved. (PR #5768)
  • Content search accepts a single file and skips credential files without opening them, and read_file reports a file's size on disk. (PRs #5954, #5904)
  • Text files saved in Windows ANSI (CP1252) open in read_file and in document search, as do UTF-16 text files; unreadable Excel files give an actionable error and titled sheets read correctly. (PRs #5766, #5761, #5812)
  • Files with an uncommon extension can be found by name, and file search stays out of other apps' data on macOS. (PRs #5754, #5854)
  • Free disk space is reported correctly, without the agent detouring through a shell. (PR #5849)
  • Document indexing no longer overflows on dense tables, and vision-extracted blocks stay whole when a document is split into sections. (PRs #5742, #5817)
  • A watched document stays indexed after a save on macOS, a document with no pages is cited without a page number, and Agent SDK document Q&A sizes its context from the real window and reports retrieval failures. (PRs #5836, #5903, #5810)
  • Memory downloads a missing embedding model at startup instead of running the whole session without memory, and that download can be cancelled. (PRs #5863, #5979)
  • PINs, card numbers and SSNs are kept out of memory and the chat log, and ordinary lowercase file names are no longer masked. (PRs #5690, #5913, #5998)
  • A new chat no longer waits behind another chat's memory extraction, the Memory page separates denied tool calls from failures, and memory searches with a date-only end date include that day. (PRs #5799, #6001, #5818)
  • Chat sessions are kept when saving fails, instead of being lost. (PR #5862)
  • Agent UI chats — a chat reopened or left mid-answer shows it live with Stop, a chat keeps streaming under the Scheduled tasks dialog, sent messages show attached images and file links, a failed attachment shows its reason, relayed GAIA turns list web sources and appear in Under the hood, and each turn has one progress timer. (PRs #5944, #5898, #5936, #5943, #5941, #5946, #5949, #5824)
  • Turn totals stay right — a step that exits early keeps its tokens and time, and performance totals stay finite. (PRs #5451, #5967)
  • Privacy and access controls show their real state — the Private button and new-chat chip, the per-chat Internet switch on GAIA chats, and Full access, which only "Turn it on" enables and Settings can turn off. (PRs #5821, #5945, #5886, #5832, #5937, #5935)
  • Agent UI follow-through — a tool row waiting for your approval says so with no timer; an agent that stopped answering is not blamed on the model server; the model chip follows a switch made in another window; Review changes keeps a last line without a newline on its own row; always-on skills are labelled instead of offering Use; the oldest cached chat agents are evicted. (PRs #5786, #5785, #5748, #5749, #5731, #5741)
  • Sidebar and Settings — sidebar destinations replace each other instead of stacking, the model pill shows the whole name, collapsed footer icons stay at the bottom, "Add your key" opens that provider, GPU memory is rounded, Connectors links open the Connectors tab, a new chat offers tasks without the starter skills, Ask Agent from the new-chat screen starts a chat about the file, and recommended Fireworks models are listed first. (PRs #5820, #5833, #5934, #5942, #5900, #5902, #5823, #5940, #5781)
  • Goals in the Agent UI — deleting a goal no longer reports a failure, and on the desktop app, where goal runs are not supported yet, a failed background goal run stops and says so instead of retrying in a loop. (PRs #5839, #5841)
  • Undo says when macOS is asking for permission instead of hanging. (PR #5846)
  • The desktop app shows "needs you" in the tray for prompts from another window, sends notifications with a small icon, and the Linux window keeps its system title bar. (PRs #5752, #5893, #5807)
  • The terminal UI says "send it again" when the agent crashes instead of naming a daemon API call, and draws a step that was retried calmly instead of as a red error. (PRs #5750, #5151, #6004)
  • A follow-up email request can name a thread shown last turn, the email agent streams its /query answer, the suspicious-mail scan reports a mailbox refresh error, an email turn with memory off is refused clearly, and approving a prompt that is no longer waiting returns an error instead of "ok". (PRs #5811, #5767, #5782, #5756, #6000)
  • Skills prefer stable releases unless you ask for prereleases, and a manifest with no version is not flagged as drifted. (PRs #5755, #5778)
  • Scratchpad measures the real database size and refuses to re-create a table that conflicts with an existing one. (PR #5856)
  • gaia knowledge --budget caps the current session's spend, as its help says, instead of everything ever recorded. (PR #5918)
  • Failures are no longer hidden — gaia mcp commands exit 1 on failure, TTS self-tests exit non-zero when synthesis fails, agent package loading errors surface, connector token-parse errors are kept, undo-history save failures no longer mask the query error, and the agent npm CLI rejects unknown flags instead of running its default command. (PRs #5777, #5788, #5745, #5795, #5734, #6005)
  • A just-started MCP server stays tracked on Linux, and the daemon retries a briefly locked state file on Windows. (PRs #5976, #5978)
  • Eval fixes — an invalid --baseline-ref is an error, and contracted negations ("doesn't") are recognized in claims. (PRs #5784, #5808)
  • Docs — Full access still asks before a gated shell command, script shell commands time out after 10 minutes, max_steps defaults to 50, the eval startup reservation is 240 s, email install examples drop --trust, and the stateful email agent examples show their auth headers. The CLI reference for gaia email is fixed, the npm package states its Linux glibc 2.34 floor, the email agent docs say a "connection is being saved" 502/503 is retryable and how oversize turns are cut, and stale command, model and Connectors tab references are corrected. (PRs #5769, #5758, #5759, #5763, #5780, #5760, #5859, #5858, #5857, #5969, #5980, #5997, #5996, #5991)

Known Issues

  • An update doesn't restart the daemon on its own — run gaia daemon restart after updating. Tracked in #6026.
  • Attaching an image on a PC that uses only AMD LLM Gateway models starts a ~5 GB vision-model download inside the turn, which can take minutes while the screen says "Analyzing image". Run gaia download --agent vlm first so the download happens up front. Tracked in #5990.
  • The terminal UI lists a saved gateway default as a ~4 GB download when launched on a local model. The label is wrong: gateway models run in the cloud and need no download, so skip it. Tracked in #6016.
  • A relayed GAIA turn can lose its final answer after you approve a prompt, about one time in ten, and end with an error naming Lemonade. Send the message again. Tracked in #6019.

Contributors

Thanks to the community members who contributed to this release:

Full Changelog

160 commits since v0.25.1:

  • (this commit) — docs(release): v0.25.2 changelog lists every commit through the final
  • e2910d616 — test(installer): diagnose locked files after setup rerun failure (#6013)
  • 70eb3637c — fix(installer): tolerate transient executable locks (#6012)
  • 0ae17cb12 — fix(email): raise core dependency floor for setup routes (#6024)
  • 8e125bb57 — test(rag): give indexing watchdogs CI headroom (#5986)
  • aff31d9ac — chore(release): pin flagship agent 0.3.2's published hashes (#6032)
  • 293399915 — docs(release): v0.25.2 notes cover rc2 through the final (#6025)
  • 1cfb5c049 — chore(release): bump the flagship agent to 0.3.2 (#6023)
  • f2e9335ae — fix(ui): keep performance totals finite (#5967)
  • 7f9c9f93b — docs(email): say the "connection is being saved" 502/503 is retryable (#5969)
  • 631620e1c — test: stabilize Windows timing assertions (#5968)
  • 1acbf5f68 — fix(memory): preserve lowercase filenames in conversation logs (#5998)
  • e294cdb13 — docs(changelog): mention inherited memory behavior (#5991)
  • 4073add7b — fix(tui): check a cloud default model as cloud after Lemonade restarts (#5992)
  • 0909b840e — fix(ci): verify NSIS after Chocolatey install (#5994)
  • 68cecd6f5 — fix(mcp): track the process started by stdio transport (#5976)
  • cc911d39a — fix(memory): make mid-session embedder downloads cancellable (#5979)
  • e19d7b581 — fix(daemon): retry transient Windows ledger replaces (#5978)
  • b3d801d98 — test(ui): fix flaky Sidebar double-click rename test (#5985)
  • ec67a2c75 — fix(tui): match every pipe stage when marking a failed step retried (#6004)
  • 4d9001361 — docs(email): describe oversize turn truncation (#5980)
  • 16db7570c — docs(connectors): name the Connectors tab (#5996)
  • ae88efb28 — fix(memory): separate denied calls from tool failures (#6001)
  • 47b2c4664 — fix(npm): reject unknown boolean flags (#6005)
  • 89114043e — fix: correct stale user-facing references (#5997)
  • 494e1c7e4 — fix(email): return 409 when confirm-tool reaches no pending prompt (#6000)
  • d72fed932 — fix(tui): draw a retried step error calm, not red (#5151)
  • bac9be2a5 — fix(agent): keep every step's tokens and time when it exits early (#5451)
  • 08d27b460 — fix(daemon): restart a daemon an update left on the previous release (#5847)
  • d16e95112 — fix(agents): ask once for a write outside the chat's folders (#5815)
  • 37234d508 — fix(security): point a refused home folder at the folders inside it (#5822)
  • e1f9d8738 — fix(agent-ui): write relative files in chat workspace (#5861)
  • 21341ba3d — fix(ui): make the per-chat Internet switch work for GAIA chats (#5886)
  • 61dd772e4 — feat(ui): stream GAIA's work as a live timeline of notes, steps and thinking (#5966)
  • 90673b86e — fix(ui): show the new-chat Private chip's real state (#5945)
  • 9b2068580 — fix(ui): make the new-chat folder chip work on installed GAIA (#5961)
  • fb0373a18 — fix(ui): open Settings on the provider "Add your key" names (#5942)
  • f0ec937ea — fix(ui): show a failed attachment's reason, not raw JSON (#5941)
  • bda620faf — fix(tools): content search takes a file path and gates secrets before opening them (#5954)
  • afc2a864e — fix(llm): hand an auto-started Lemonade its remembered cloud key (#5959)
  • e98dffad5 — fix(ui): measure relayed GAIA turns in Under the hood (#5949)
  • 3bf18cefb — fix(ui): show attached images and file links in sent messages (#5943)
  • 2bbc0cd4c — fix(ui): Ask Agent from the new-chat screen starts a chat about the file (#5940)
  • db2f5e0fe — fix(ui): a chat reopened mid-answer shows it live, with Stop (#5944)
  • ac6eef8fb — fix(ui): list web search hits as sources on a relayed turn (#5946)
  • a648a3fd6 — fix(tests): fake fstat only for the snapshot test's own file (#5952)
  • 71ea912bc — fix(ui): only "Turn it on" enables Full access in the side panel (#5937)
  • 9af9c427c — fix(ui): update the chat when Settings turns off full access (#5935)
  • cf1fbaddf — fix(ui): keep collapsed sidebar footer icons at the bottom (#5934)
  • 35dfd40d6 — feat(update): offer updates in the Agent UI and TUI, auto-update off by default (#5730)
  • 99b48ceb6 — fix(knowledge): enforce --budget per session, not as a lifetime cap (#5918)
  • 86d78b153 — fix(desktop): read the installed backend version without starting Python (#5919)
  • f60923ada — fix(webui): stay on "Starting GAIA…" until the backend listens (#5916)
  • 9ecccf475 — fix(ui): a chat keeps streaming under the Scheduled tasks dialog (#5936)
  • 62cb09db8 — fix(memory): match card and PIN variants safely (#5913)
  • 886955fad — fix(rag): cite a document with no pages without a page number (#5903)
  • e9453fda5 — fix(ui): round the GPU memory shown in Settings (#5900)
  • 8a5d2dfc7 — fix(ui): a chat left for Memory mid-turn still shows its answer (#5898)
  • a678e9d2c — fix(agent): save "my Documents" files to the user's Documents folder (#5844)
  • e2037c95f — feat(ui): let the new-chat folder chip pick a folder for the chat (#5826)
  • edf1c833d — fix(connectors): send users to Settings → Connectors, the tab that exists (#5902)
  • 56f7b14a6 — feat(ui): rename a chat from its sidebar row (#5828)
  • 8eab924ea — fix(tools): read_file reports the file's size on disk (#5904)
  • 4c2e9a723 — feat(ui): group Settings > Skills by where each skill came from (#5830)
  • 2b048c53a — feat(ui): put chat search above New chat in the sidebar (#5868)
  • e3b8c19a3 — fix(ui): hide dot entries in the file browser behind a Show hidden toggle (#5834)
  • b1b17e73c — chore(deps-dev): update sherpa-onnx requirement from <2,>=1.13 to >=1.13,<3 in the python-dependencies group (#5899)
  • 6d6964fe1 — chore(deps): bump anthropics/claude-code-action from 1.0.261 to 1.0.262 in the github-actions group (#5901)
  • 748da9d02 — fix(memory): keep PINs, card numbers and SSNs out of memory and the chat log (#5690)
  • 2488211c0 — fix(chat): size AgentSDK RAG context from the real window; surface RAG failures (#5810)
  • 82b1050ca — fix(ui): the Private button shows whether a chat is private (#5821)
  • d0a47c5b4 — fix(ui): sidebar destinations replace each other instead of stacking (#5820)
  • 4a173d82c — fix(ui): sidebar model pill shows the whole model name (#5833)
  • 1e7ebd013 — fix(memory): a turn in any chat stops every chat's extraction (#5799)
  • b415d863c — test(mcp): preserve pytest stdout capture on Windows (#5887)
  • 1cfc7eb5e — ci(cpp): use vcpkg OpenSSL on Windows (#5865)
  • 6ff54c58c — fix(chat): keep a watched document indexed after a save on macOS (#5836)
  • 19283cb13 — fix(ui): refuse email HTTP turns with memory disabled (#5756)
  • 4d22f3614 — fix(agent): keep a turn bigger than the history budget instead of dropping it (#5864)
  • 16d27a7dc — ci(deps): stop Dependabot proposing cryptography 49+ for Intel Macs (#5895)
  • 8f700047a — fix(ci): skip the live TLS test when a host returns 5xx (#5890)
  • 5a54a7c31 — fix(memory): download a missing embedder at startup instead of running without memory (#5863)
  • 8aec2deac — docs(release): credit every v0.25.1 contributor and finish its changelog (#5744)
  • ef0ab5d43 — docs(cli): fix gaia email help, --base-url table, duplicate kill section (#5859)
  • 0a5ca57da — docs(code-index): a model mismatch raises ValueError, not an empty result (#5858)
  • 1867aaa76 — docs(gaia): state the Linux glibc 2.34 floor in the npm package docs (#5857)
  • 1be5a065a — fix(ui): a new chat offers tasks even without the starter skills (#5823)
  • 4bc393bb8 — test(electron): measure source-size limits with LF line endings (#5894)
  • eb37999d9 — fix(ui): show Internet as text when the agent controls it (#5832)
  • acb009ae2 — fix(webui): show one progress timer per streaming turn (#5824)
  • 0ece1cce7 — fix(ui): accurate first-run setup state and model-server remedies (#5825)
  • 596bc5af6 — fix(electron): send desktop notifications with a small icon, not the 4096 px app icon (#5893)
  • 599b05a8f — docs(release): v0.25.2 notes include the fixes since rc1 (#5884)
  • f404f5b2d — fix(agent): report free disk space correctly, without a shell detour (#5849)
  • 2e724c47d — fix(agent): the agent's shell sees the user's login PATH on macOS (#5867)
  • 515e5c016 — fix(tools): keep file search out of other apps' data on macOS (#5854)
  • 9475554f8 — fix(init): a final release replaces a release candidate's agent build (#5831)
  • c8fd6b377 — fix(ui): undo says when macOS is asking, instead of hanging (#5846)
  • 8412f5c71 — fix(ui): a failed background goal run stops and says why (#5841)
  • 2160bc5d9 — fix(ui): deleting a goal no longer reports a failure (#5839)
  • 8a78027fd — fix(scratchpad): measure the real database size and refuse a conflicting re-create (#5856)
  • c02cb28d1 — fix: preserve chat sessions when saving fails (#5862)
  • 5f9b9af0a — Release v0.25.2 (#5850)
  • e2a195c7b — feat(skills): contributor-triage skill for PR and issue triage (#5816)
  • ca6e51b6a — docs(email): add auth headers to stateful agent examples in SKILL.md (#5760)
  • e44fd39c0 — fix(memory): include final day for date-only time_to (#5818)
  • e7ddce1de — fix(ui): a relayed write prompt names where the file lands (#5783)
  • 13945c69e — fix(skills): tell the model to combine skills, add pairs_with companions (#5422)
  • c46be4737 — chore(deps): bump the root-npm-dependencies group with 2 updates (#5796)
  • 172384f1e — chore(deps): bump the agent-ui-dependencies group in /src/gaia/apps/webui with 6 updates (#5798)
  • 0d0882b81 — chore(deps): bump anthropics/claude-code-action from 1.0.252 to 1.0.261 in the github-actions group (#5800)
  • 05a07660f — fix(agent): send back an answer to a run request when nothing ran (#5753)
  • cc0e9d022 — docs: Full access in the Agent UI still asks before a gated shell command (#5769)
  • 0dc738008 — fix(email): surface the mailbox refresh error in the suspicious scan (#5782)
  • e21d704be — fix(rag): handle CP1252 and UTF-16 text files (#5761)
  • 59dcdb14b — docs(eval): the startup reservation is 240s, not 120s (#5763)
  • 5b842d93d — docs(sdk): document max_steps framework default of 50 (#5759)
  • c6a4ef025 — docs(guides): document 10-minute timeout for script shell commands (#5758)
  • cbb2b3886 — fix(rag): keep VLM blocks atomic in section-based chunking (#5817)
  • 0a81860d1 — test(hub): stabilize pip stuck detection test (#5814)
  • 05f74ccd8 — fix(eval): recognize contracted negation in claims (#5808)
  • e18cbea23 — test(installer): cover Lemonade cleanup boundaries (#5757)
  • 8fc1ed77e — fix(eval): treat an invalid --baseline-ref as an error, not first adoption (#5784)
  • e3090254e — fix(lemonade): don't report ready when the context re-check fails (#5793)
  • 5eee6693b — fix(settings): prioritize recommended Fireworks models (#5781)
  • c30ad2792 — fix(skills): prefer stable releases unless prereleases are requested (#5755)
  • dda6d5bff — fix(rag): actionable errors for unreadable Excel files; read titled sheets right (#5812)
  • cf32d2fc5 — fix(email): a follow-up can name a thread shown last turn (#5811)
  • e5661858a — fix(installer): keep %VARS% in the user PATH when install.ps1 adds GAIA (#5809)
  • a1a846e23 — fix(electron): Linux desktop window keeps its system title bar and controls (#5807)
  • cfc7e8c27 — fix(init): install the GAIA agent even when Lemonade or model setup fails (#5802)
  • 65f5700c2 — fix(shell): check a Windows path written with backslashes (#5794)
  • 401e61f69 — fix(agent): run_python runs in scratch when the repo around the cwd is unapproved (#5768)
  • 38f8047e6 — fix(tools): read_file opens CP1252 (Windows ANSI) text files (#5766)
  • 34ec0fcab — fix(ui): a tool row held for your approval says so, with no timer (#5786)
  • ca6460852 — fix(ui): an agent that stopped answering isn't blamed on the model server (#5785)
  • bfe6a85b0 — fix(electron): show "needs you" in the tray for prompts from another window (#5752)
  • c17ea45e0 — fix(shell): gh repo names and API routes are not file paths (#5751)
  • 558b307a3 — fix(tui): say "send it again" when the agent crashes, not a daemon API call (#5750)
  • 22cafbba9 — fix(ui): keep a line without a trailing newline on its own row in Review changes (#5749)
  • 7bd560f5c — fix(ui): the model chip and footer follow a switch made in another window (#5748)
  • 9ccd888b6 — fix(installer): an update replaces a running agent and restarts it (#5747)
  • 84e41ce76 — fix(ui): show what fills the context window for GAIA chats (#5746)
  • afd6941db — fix(llm): send thinking blocks back with their tool turn on the Claude provider (#5072)
  • ebff3c527 — fix(tools): find a file named with an extension outside the allowlist (#5754)
  • e03e8d209 — fix(ui): label always-on skills instead of offering Use (#5731)
  • acac3d1cd — docs(hub): drop --trust from email install examples (#5780)
  • d7b2c7202 — fix(llm): exclude cloud models from local context ceiling (#5813)
  • 26a2ae1ba — fix(connectors): preserve unexpected token response parsing errors (#5795)
  • 00e9c0d99 — fix(audio): tts self-tests exit non-zero when synthesis fails (#5788)
  • df39b208b — fix(installer): report a crashed Lemonade check as a check failure (#5779)
  • 362ebb2dc — fix(skills): an omitted manifest version is not version drift (#5778)
  • 2827acdd1 — fix(gaia): preserve query errors when undo history cannot be saved (#5734)
  • fa95dfa17 — fix(mcp): exit 1 when a gaia mcp command fails (#5777)
  • e1fe4b4b2 — fix(email): stream the email agent's /query answer (#5767)
  • 70834de88 — fix(cli): surface agent package loading errors (#5745)
  • 951fc4052 — fix(rag): index dense no-break-space tables without embedding overflow (#5742)
  • 6d3f07f9f — fix(ui): evict least-recently-used cached chat agents (#5741)
  • 63538f4da — fix(agents): recover from non-object tool arguments (#5732)
  • 0a7fc1e3c — docs(plans): one-tag release train (#5172) (#5492)

Full Changelog: v0.25.1...v0.25.2


Installation

Desktop installer (recommended for end users)

Download the installer for your platform from the assets below:

  • Windows — the GAIA installer from https://amd-gaia.ai/#install (gaia-*-win-x64-setup.exe): choose the desktop app, the terminal, or both. gaia-agent-ui-*-x64-setup.exe below is the desktop app on its own (autostart on by default)
  • macOS — gaia-agent-ui-*-arm64.dmg (drag to Applications, Apple Silicon only)
  • Linux — gaia-agent-ui-*-amd64.deb (Debian/Ubuntu) or gaia-agent-ui-*-x86_64.AppImage (any distro)

On first launch the app sets up its Python backend automatically (~5–10 minutes for the minimal profile, depends on your internet speed).

See the installation guide for setup details and troubleshooting.

Developer install (Python CLI)

Install GAIA using pip:

pip install amd-gaia

Or using uv:

uv pip install amd-gaia

Or via npm:

npm install -g @amd-gaia/agent-ui