Onyx AI v4.2.0 Desktop App

Onyx AI is an open-source AI platform designed to connect large language models with your own data, apps, and workflows. Instead of relying only on generic AI knowledge, it allows you to build a system that understands your internal documents, tools, and processes.

It can function as:

  • An AI assistant for teams

  • A knowledge search engine

  • A platform for building custom AI agents

In simple terms, Onyx AI acts like a private, customizable version of tools similar to ChatGPT, but with deeper control over data and behavior.

If you are exploring powerful alternatives to mainstream AI tools, Onyx AI is quickly gaining attention as a flexible and developer-friendly solution. Built with a strong focus on customization, data integration, and self-hosting, Onyx AI goes beyond a simple chatbot and positions itself as a full AI workspace.

Download Onyx AI v4.2.0 Desktop App - Software Mirrors

Download Onyx AI v4.2.0 Desktop App for Linux (amd64 - RPM)
Onyx_x86_64.rpm

Download Onyx AI v4.2.0 Desktop App for Windows (msi)
Onyx_x64.msi

Download Onyx AI v4.2.0 Desktop App for Windows (exe)
Onyx_x64.exe

Download Onyx AI v4.2.0 Desktop App for macOS (dmg)
Onyx_universal.dmg

Download Onyx AI v4.2.0 Desktop App for macOS (tar.gz)
Onyx_universal.app.tar.gz

Download Onyx AI v4.2.0 Desktop App for Linux (arm64 - deb)
Onyx_arm64.deb

Download Onyx AI v4.2.0 Desktop App for Linux (amd64 - deb)
Onyx_amd64.deb

Download Onyx AI v4.2.0 Desktop App for Linux (aarch64 - RPM)
Onyx_aarch64.rpm

Onyx AI v4.2.0 Desktop App Release Notes:

Warning

Do not upgrade to this release if you want to preserve your existing indexed documents but have not yet run the document index migration, which can be done from any version v3.x. See additional documentation here. See the assets to download this version and install.

What's Changed

  • chore: centralize retry-after parsing by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/11772
  • fix(opal): drop CSS imports via esbuild plugin instead of marking as external by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11816
  • ci(nightly): drop backend image from LLM provider chat tests by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11818
  • fix(slack): skip doc-set and persona ACL checks for anonymous Slack bot users by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11817
  • ci(nightly-llm): surface local reproduce command on provider failure by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11815
  • ci(preview): skip preview deployment when Vercel credentials are unset by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11785
  • feat(opal): own z-index tokens so they survive standalone distribution by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11823
  • feat(craft): add session-scoped approvals by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11819
  • fix(scim): promote shadow EXT_PERM_USER on SCIM adoption by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11814
  • feat(craft): Add more actions to Slack, GDrive, and Linear External Apps by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/11798
  • ci: add python-version input to setup-python action by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11828
  • fix(craft): prewarm agent sessions before first prompt by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11824
  • feat(opal): add "xl" rounding variant to Card by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11831
  • feat(search): show active conversation name in browser tab title by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11832
  • feat(notifications): paginate retrieval api by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11829
  • fix(users): revalidate users table + counts after invite by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11826
  • chore(craft): Docker compose e2e approval w/ network proxy test in CI by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11777
  • feat(security): gate API docs/schema behind ENABLE_PUBLIC_DOCS (default off) by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11837
  • chore(craft): Enable k8s e2e approval w/ network proxy test in CI by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11778
  • fix(fireflies): re-scan an overlap window so late transcripts aren't dropped by @Bo-Onyx in https://github.com/onyx-dot-app/onyx/pull/11835
  • fix(craft): pr-craft-compose-integration.yml doesn't need to start FE containers by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11839
  • chore(opal): bump version to 0.1.7 by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11834
  • feat(shared): scaffold @onyx-ai/shared package for web + mobile by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11799
  • feat(mobile): scaffold Onyx Expo (SDK 56) React Native app by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11800
  • ci(mobile): add lint, format & typecheck pre-commit hooks by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11849
  • fix(craft): pr-craft-compose-integration.yml should upload log artifacts by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11840
  • fix(craft): Prevent Craft model picker flash while sessions load by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11844
  • fix(mobile): pin Kotlin 2.1.20 for Android builds + add dev setup docs by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11848
  • feat(craft): run interactive turns in background by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11822
  • fix(external apps): show tooltip for why the creation modal is not complete by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11852
  • feat(security): add dedicated security_settings table by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11853
  • feat(craft): codify Onyx Craft EKS infra (terraform + helm) by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11787
  • fix(craft): avoid event bus during opencode prewarm by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11855
  • fix(chat): tolerate deleted files referenced in chat history by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11854
  • perf(llm): cache non-admin LLM provider listings per tenant by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11856
  • fix(craft): interrupt with single Escape by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11857
  • fix(craft): hydrate webapp previews through proxy by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11842
  • feat(security): runtime-configurable security settings via KV store by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11453
  • feat(helm): mount custom CA certs on all outbound-TLS pods by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11858
  • fix: fall back to global default model when personal default's provider is gone by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11866
  • chore(deps): bump starlette from 0.49.3 to 1.0.1 in /backend by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/11745
  • fix(sandbox-proxy): reduce noisy proxy logs by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11867
  • test(agents): split flaky welcome-page-with-assistant screenshot by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11870
  • feat(opal): move sidebar layout primitives into Opal (v0.1.8) by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11864
  • fix(craft): cancel interrupted tool call spinner by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11851
  • fix(chat): SSE heartbeat + first-chunk stream retry to stop silent stream deaths by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11872
  • feat(craft): make Craft runtime-only; drop the craft backend image by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11877
  • feat(opal): add SvgFile and SvgOnyxLogo icons by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11883
  • fix(craft): gate scheduled-run-context fetch to scheduled sessions by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11884
  • feat(mobile): add typed API client with TanStack Query by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11847
  • fix(craft): pr-craft-compose-integration.yml should use runs-on by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11865
  • perf(llm): memoize litellm reasoning-support probe per process by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11879
  • feat(security): admin UI for runtime security settings by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11863
  • fix(ods): run bun install when node_modules is empty by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11895
  • chore(deps): bump azure-cognitiveservices-speech: 1.38.0->1.50.0 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11894
  • ci(craft): deploy ad-hoc sandbox images via sandbox/dev git tags by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11893
  • fix(fe): stop useAuthType clobbering the shared auth-type SWR cache by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11896
  • fix(craft): make sandbox snapshots reliable + fail-closed idle cleanup by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11892
  • feat: rate limit chat message feedback endpoints by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11758
  • fix(terraform): expose EKS security group outputs by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11910
  • fix(chat): runs survive client disconnect — workers own persistence by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11878
  • refactor(craft): store snapshots in onyx filestore by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11909
  • feat(connectors): add Braintrust connector by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11880
  • chore(opal): remove className from Checkbox and RootLayout interfaces by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11918
  • feat(craft): codify sandbox pod spec into a Helm PodTemplate by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11919
  • fix(craft): codify sandbox proxy IRSA wiring by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11926
  • fix(craft): Fix k8s test, forward bare vs approve and 403 flows by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11882
  • feat(load-tests): Add Locust load-test harness for the chat path + deterministic mock LLM server 0/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11917
  • feat(craft): migrate sandbox sidecar to restartable init container by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11928
  • feat(craft): sneaky easter egg by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11939
  • fix(web): only render custom chat background on chat surfaces by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11943
  • fix(opal/admin-sidebar): sidebar layout fixes by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11925
  • fix(web): add frame-ancestors CSP to prevent clickjacking by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11936
  • chore: Restore ruff G004 (no f-strings in logging) and fix 15 violations that crept in by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11945
  • feat(load-tests): tool-call + deep-research support in mock LLM, scenarios, Dockerfile 1/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11938
  • fix(CORS): Never pair wildcard CORS origins with allow_credentials (ENG-4126) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11948
  • chore(sidebar): reorganise sidebar utilities into lib/sidebar/ by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11950
  • fix(craft): Fix docker compose integration test log matching by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11947
  • fix(craft): use OnyxError in reset sandbox API by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11954
  • feat(load-tests): in-cluster harness image + k8s manifests for mock LLM and Locust 2/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11951
  • chore(dev): ignore sandbox image files in hot reload by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11953
  • chore(craft): Run docker compose integration on presubmit by @acaprau in https://github.com/onyx-dot-app/onyx/pull/11949
  • fix(helm): validate Craft sandbox proxy config by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11956
  • fix(craft): always register all supported providers in opencode config by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11860
  • fix(fe): stop nested
  • feat(load-tests): scenario mix, multi-turn, disconnects, collapse-point ramp 3/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11961
  • build(craft): upgrade sandbox image to Python 3.13 by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11965
  • feat(security): consolidate SSRF protection into one admin setting by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11881
  • feat(load-tests): Prometheus exporter + Grafana correlation dashboard 4/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11967
  • fix(craft): persist opencode chat history by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11922
  • fix(web): stop background tabs from polling the API forever by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11962
  • fix(web): poll search settings only while a re-embedding migration is active by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11963
  • fix(load-tests): add title + uid to correlation dashboard by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11971
  • fix(web-connector): apply URL validation across all fetch paths by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11973
  • fix(indexing): cap spawned worker memory + Drive extracted-text size by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11969
  • chore(deps): upgrade ods: 0.8.0->0.8.1 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11966
  • feat(craft): reuse standard chat message components + copy actions by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11958
  • fix(llm): route Claude Fable 5 / Mythos 5 through adaptive thinking by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/11992
  • feat(craft): sneaky craft easter egg by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11993
  • chore: update go toolchain to 1.26.4 by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12001
  • fix(cli): upgrade wish and go toolchain by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11997
  • fix(sandbox): update web template dependencies by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11999
  • fix(sandbox): update runtime toolchain by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11998
  • fix(deps): replace retry with tenacity to drop CVE-2022-42969 (py) by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12000
  • chore(deps): enable dependabot for sandbox image by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12006
  • ci(cli): scan release wheels with govulncheck by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12009
  • feat(craft): prune session snapshots on write (keep only the latest) by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12002
  • fix(security): harden default MinIO/S3 object-storage credentials by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12003
  • chore(deps-dev): bump pypdf from 6.10.2 to 6.12.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/12008
  • fix(e2e): scope settings page screenshots to the settings container by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12017
  • fix(sandbox): update web template dependencies by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12022
  • fix(craft): set ephemeral-storage requests/limits on sandbox pods by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11921
  • refactor(craft): extract sandbox manager factory from base.py by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12029
  • test(web): deflake command-menu screenshots by masking timestamps by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12035
  • feat(slack-connector): add channel exclude list with optional regex by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11996
  • fix(cli): publish musllinux wheels by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12037
  • chore(search): stop inferring filters in the search pipeline by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12019
  • fix(security): require USER_AUTH_SECRET on non-dev deployments by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12038
  • feat(craft): show action description for external app skill commands by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12036
  • fix(web): don't shrink custom placeholders in PasswordInputTypeIn by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12041
  • fix(web): sanitize docx-preview output in file preview modal by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12043
  • fix(seat-limit): cloud bulk invite self-deadlocks on double advisory lock acquisition by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12045
  • refactor(craft): flatten sandbox/manager/ into sandbox/snapshot_manager.py by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12030
  • fix(sandbox): update initial dependencies by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12044
  • chore(sandbox): use oxlint for web template by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12026
  • chore(craft): kind image refresh tooling for local dev by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12034
  • refactor(craft): move shared modules out of build api/ package by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12031
  • chore(web): remove unused @sentry/tracing dependency by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12020
  • fix(scim): skip SCIM token probe below Enterprise tier by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12004
  • fix(users): bound invite request with a timeout so the modal can't hang by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12005
  • refactor(projects): migrate ProjectContextPanel and ProjectChatSessionList to sections/projects/ by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12049
  • refactor(tokens): centralize design tokens in @onyx-ai/shared by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/11937
  • fix(projects): replace empty spacer divs with padding utilities by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12056
  • feat(mobile): add React Native Sidebar (Opal SidebarLayouts port) by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12057
  • feat(craft): background-snapshot RUNNING sandboxes in the idle sweep by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12021
  • fix(google_drive): bound connector memory by streaming documents in sub-batches by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12059
  • chore(web): auto-rebuild opal dist CSS on checkout/pull by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12067
  • feat(mobile): load Hanken Grotesk + DM Mono fonts for typeface parity by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12069
  • fix(voice): strip markdown before TTS read-aloud playback by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12070
  • fix(notion): iterate block/page traversal to prevent RecursionError by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12040
  • chore(cloud): temporarily pause signups by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12075
  • feat(llm-disablement): disable new LLM provider configuration on cloud by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12076
  • fix(sentry): reduce captured content in error events by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12077
  • fix(llm): return 400 not 502 when an Ollama server is unreachable by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12079
  • feat: structured audit logging for credential access by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12083
  • fix(app-chrome): unified chrome header — consistent height, no dead space by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12082
  • chore(opal): bump patch version 0.1.11 → 0.1.12 by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12088
  • fix(llm): prevent LLM environment sharing by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12080
  • fix(ci): unblock craft compose integration after USER_AUTH_SECRET hardening by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12051
  • refactor(model-selector): unify LLMPopover, ModelSelector, LLMSelector into one by @raunakab in https://github.com/onyx-dot-app/onyx/pull/11952
  • fix(app-chrome): restore header on "start an agent chat" page by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12093
  • fix(projects): Fix CreateProjectModal and cap description lines by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12094
  • feat(chat): durable chat runs — reconnect to in-flight streams by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/11927
  • feat(agent-sharing): schema for per-share permissions and ownership - 1/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12010
  • chore(opal): remove dead RootLayout.Sidebar component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12106
  • fix(craft): mark failing bash commands as failed and persist them by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12050
  • feat(ods): add ods release opal to cut opal releases via bot PR by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12095
  • refactor(craft): reorganize build package into domain packages by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12032
  • feat(agent-sharing): per-share permission model - 2/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12011
  • fix(craft): accept assignment-form basePath in next.config template test by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12114
  • fix(craft): fix /workspace/sessions volume permissions in Docker sandbox by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12078
  • refactor(craft): move sandbox celery tasks to background/celery/tasks/build by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12033
  • fix(craft): run docker workspace execs as sandbox user by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12116
  • fix(deployment): alert on create-release failure by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12122
  • fix(ci): resolve draft release id via list endpoint, not tag lookup by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12123
  • chore(deps): upgrade ods: 0.8.1->0.8.2 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12117
  • feat(llm-admin): introduce new PostHog flag to disable llm-provider configuration by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12120
  • feat: allow sandbox agents to write tmp by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12125
  • fix(llm): map unreachable OpenAI-compatible model server to 400, not 502 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12085
  • fix(ci): clearer Slack alert when cherry-pick hits workflows permission by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12126
  • feat(email): archive sent messages via bcc by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12119
  • revert(cloud): restore signup page by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12111
  • fix(connector): only redirect connector detail page on a real 404 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12112
  • fix(chat): disable model selector when there are no models to select by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12130
  • chore(llm): Improve custom config logging by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12115
  • fix(llm): restore vision detection for custom-config providers (LiteLLM Proxy) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12136
  • fix(file-processing): extract PDF text with pypdfium2 instead of pypdf by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12102
  • feat: mcp oauth persists refresh info by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/11735
  • feat(auth): add mobile bearer-token auth gateway by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12068
  • fix(voice): log Azure STT cancellations, no-speech, and session end by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12107
  • feat(skills): add user-managed personal skills by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/11923
  • fix(mobile): make onboarding responsive by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12135
  • fix(confluence): anchor attachment link to webui URL by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12124
  • feat(craft): align sandbox image tagging with app releases by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12141
  • refactor(settings): consolidate settings into a single useSettings() hook by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12155
  • feat(branding): derive logoUrl in useSettings hook by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12159
  • chore(deps): bump aws-actions/configure-aws-credentials from 6.0.0 to 6.2.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/11899
  • fix(groups): search members by service account name by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12142
  • fix(llm): resolve Bifrost vision support from LiteLLM cost map by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12157
  • ci: right-size PR workflow job timeouts from historical runtimes by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12164
  • chore(deps): bump docker/setup-buildx-action from 4.0.0 to 4.1.0 by @dependabot[bot] in https://github.com/onyx-dot-app/onyx/pull/11903
  • docs(agents): add comment-writing guideline by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12167
  • fix(tenant): skip tenant resolution for /health and /metrics probes by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12168
  • fix(slack): scope permission sync channel fetches by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12134
  • chore(craft): remove unused build code by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/11959
  • fix(file-store): make change_file_id a metadata-only rename by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12087
  • fix(craft): let celery-worker-heavy create sandbox snapshots (NetworkPolicy + push key) by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12173
  • fix(chat): surface context-window errors on long threads + overflow guard by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12165
  • feat(agent-sharing): ownership and transfer - 3/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12023
  • feat(mobile-auth): runtime instance URL, session manager + login flow by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12147
  • feat(service-accounts): add Groups & Roles modal by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12174
  • feat(auth): add mobile SSO bridge with PKCE one-time code exchange by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12150
  • feat(settings): add 60 days chat retention option by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12186
  • feat(agent-sharing): editor knowledge-attach guard - 4/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12024
  • fix(dev): set ENCRYPTION_KEY_SECRET in .env.k8s.template to match localdev cluster by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12048
  • feat(agent-sharing): share UI foundation - 5/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12025
  • fix(branding): restore custom app name in browser title after navigation by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12162
  • fix(admin): prevent clipped action button in admin list header by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12175
  • feat(agent-sharing): rebuilt share dialog - 6/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12027
  • ci: avoid buildx setup in sandbox prepare job by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12190
  • fix(craft): keep restored file pane populated by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12172
  • feat(settings): add custom chat retention duration option by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12189
  • feat(settings): re-expose temperature control toggle in admin chat preferences by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12192
  • feat(craft): Persist opencode session for docker compose path by @acaprau in https://github.com/onyx-dot-app/onyx/pull/12170
  • feat(agent-sharing): edit-page section, admin gating, owned-only gallery - 7/7 by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12028
  • fix(chat): give pre-tool narration and tool calls distinct placement by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12191
  • ci(cherry-pick): request workflows permission for app token by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12197
  • feat: gdrive follow shortcuts by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/12176
  • fix(craft): send tenant_id to PostHog so Craft flags can target one tenant by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12196
  • fix: set cloud PostHog tenant id from user mapping by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12199
  • chore(craft): Snapshotting e2e test by @acaprau in https://github.com/onyx-dot-app/onyx/pull/12171
  • feat: add SharePoint targeted reindex (Resolver) support by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/12121
  • fix(indexing): count index-attempt errors via grouped query to stop api-server OOM by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12207
  • fix(chat): keep processing indicator until user files finish indexing by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12208
  • feat(load-tests): compression / long-history scenario (CompressionUser) by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11990
  • fix(security): skip security_settings DB read on the shared schema by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12166
  • feat(load-tests): file-attachment scenario for connection-hold testing 5/n by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/11976
  • feat(analytics): enable PostHog via runtime config instead of build-time env by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12200
  • chore(craft, testing): k8s test should not run on every PR, match docker test cadence by @acaprau in https://github.com/onyx-dot-app/onyx/pull/12214
  • feat(canvas): perm syncing(4) by @benwu408 in https://github.com/onyx-dot-app/onyx/pull/10443
  • fix: sf retry closed connections by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/12216
  • fix(opensearch): skip metadata update for unknown/zero chunk count by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/12137
  • fix(file-processing): fall back to pypdf when PDFium text extraction fails by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12222
  • fix(google-drive): bound Google Doc parsing to prevent indexing-worker OOM by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12223
  • chore(install): Rename Vespa to OpenSearch by @acaprau in https://github.com/onyx-dot-app/onyx/pull/12224
  • fix(craft): set readOnlyRootFilesystem on the sandbox egress proxy by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12218
  • fix(auth): serve anonymous chat to logged-out users on self-hosted (#11935) by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12074
  • Revert "feat(canvas): perm syncing(4)" by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12231
  • feat(cherry-pick): add --dispatch to run the cherry-pick workflow remotely by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12232
  • chore: ee codeowners by @evan-onyx in https://github.com/onyx-dot-app/onyx/pull/12236
  • fix(search): restrict project chat search to project files by @Subash-Mohan in https://github.com/onyx-dot-app/onyx/pull/12181
  • fix(gong): configurable API base URL for non-US data residency by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12264
  • feat(helm): allow disabling API startup migrations by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12268
  • fix(llm): resolve vision support for dynamic-provider models + clearer 413 by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12266
  • test(craft): factor shared test helpers by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12269
  • refactor(comments): replace mentions of mypy with app-agnostic comment by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12267
  • chore(web): clear stale Turbopack .next dev cache on checkout/pull/rebase by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12272
  • fix(craft): preserve contextvars in announce-merge producer threads by @rohoswagger in https://github.com/onyx-dot-app/onyx/pull/12240
  • fix(craft): reap idle sandboxes before background-snapshotting active ones by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12275
  • feat(tracing): Show available tools in llm trace by @Danelegend in https://github.com/onyx-dot-app/onyx/pull/12282
  • fix(craft): wait for pod IP before opencode-history restore (k8s) by @wenxi-onyx in https://github.com/onyx-dot-app/onyx/pull/12280
  • feat(admin): replace three-dots loader with animated Onyx mark by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12169
  • feat(opal): new EndOfList component by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12278
  • feat(opal): add titleMaxLines to Content + refactor @opal/layouts.inputs's error layout by @raunakab in https://github.com/onyx-dot-app/onyx/pull/12277
  • fix(fe): disallow Interactive.Container from flex shrinking by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12283
  • fix(llm): deliver bedrock bearer token via per-session provider, not global env by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/10611
  • fix(google-drive): bound advanced Doc parse to prevent indexing-worker OOM by @nmgarza5 in https://github.com/onyx-dot-app/onyx/pull/12237
  • fix(voice): backend markdown stripping for TTS + optional REST STT toggle by @justin-tahara in https://github.com/onyx-dot-app/onyx/pull/12284
  • chore(deps): upgrade ods: 0.8.2->0.8.3 by @jmelahman in https://github.com/onyx-dot-app/onyx/pull/12235
Full Changelog: https://github.com/onyx-dot-app/onyx/compare/v4.1.6...v4.2.0

Key Features of Onyx AI

1. AI Chat with Your Own Data

Onyx connects to documents, databases, and apps, allowing it to generate answers based on real company knowledge instead of generic internet data.

2. Advanced RAG and Hybrid Search

It uses retrieval-augmented generation and hybrid search techniques to improve accuracy and reduce hallucinations.

3. Custom AI Agents

You can build agents with specific instructions, tools, and workflows, enabling automation of tasks like research, reporting, or analysis.

4. Deep Research Capabilities

Onyx AI can combine web data and internal sources to deliver structured insights instead of simple search results.

5. Open Source and Self-Hosted

One of its biggest strengths is transparency. You can deploy it on your own infrastructure, keeping full control over your data and privacy.

6. Multi-LLM Support

Onyx allows integration with different AI models, giving users flexibility instead of locking them into a single provider.


Performance and Use Cases

Onyx AI is designed for productivity and enterprise use rather than casual chatting. It performs best when connected to structured data, internal tools, or large document collections.

Common use cases include:

  • Internal knowledge assistants for companies

  • Developer and engineering workflows

  • Research and data analysis

  • Automated reporting and insights generation

Because of its architecture, it can also query live structured data and generate actionable outputs, not just text responses.


User Experience

The interface is modern and similar to a chat-based AI tool, but with added layers like agents, connectors, and configurations.

However, it is not beginner-focused. Setting up Onyx AI, especially self-hosting and integrations, requires some technical knowledge. This makes it more suitable for developers, startups, and tech teams rather than casual users.


Pros and Cons

Pros

  • Open source and highly customizable

  • Strong privacy with self-hosting options

  • Supports multiple AI models

  • Powerful data integration and automation

  • Advanced research and analysis capabilities

Cons

  • Setup can be complex for beginners

  • Requires infrastructure for full potential

  • Overkill for simple AI chat use


Who Should Use Onyx AI

Onyx AI is ideal for:

  • Developers building AI-powered tools

  • Companies needing internal AI assistants

  • Teams working with large datasets or documentation

  • Users who want full control over AI behavior and data

It is less suitable for users who just want a simple plug-and-play chatbot.


Final Verdict

Onyx AI stands out as a powerful open-source alternative in the AI ecosystem. It is not just another chatbot but a full platform for building intelligent systems tailored to your data and workflows.

Onyx AI is an excellent choice for advanced users and teams who want flexibility, privacy, and deep integration. While it requires some setup effort, the payoff in capability and control is significant.

Onyx AI v4.2.0 Desktop App
Free
Software Informations:
Developer:

Operating System:
Windows / Linux / macOS
Date Added:
2026-06-24T06:02:04.063Z
Categories:

Post a Comment/Report Broken Link: