PricingDocs
Get started

Run your whole company from one repo you own.

Start with one job and grow from there.

Get started

Product

  • Agent Computer
  • Company as Code
  • Connectors
  • Automations
  • Channels
  • Agents & Skills
  • Security
  • Self-hosted
  • Enterprise
  • Pricing
  • Download

Solutions

  • Sales
  • Marketing
  • Engineering
  • Product
  • Finance
  • People
  • IT
  • Data Science

Developers

  • Documentation
  • AI Operating System
  • CLI
  • SDK
  • Quickstart
  • For developers
  • Marketplace
  • GitHub

Company

  • About
  • Careers
  • Blog
  • Changelog
  • Use Cases
  • Brand

Connect

  • X
  • LinkedIn
  • Discord
  • Status
  • Support
  • Terms
  • Privacy
©2026 Kortix

Changelog

July 7, 2026

Project-wide provider keys, marketplace fixes, and sharper project permissions

v0.9.99

Fixed

  • Connecting an LLM provider with "Only me" access made the key invisible to the model gateway — sessions failed with "No upstream configured" while the provider still looked connected, and flipping an existing key to "Only me" silently left the shared key active for every member. Provider API keys are now always project-wide: the per-user option is gone from the connect flow and the API rejects per-user provider keys outright.
  • The marketplace now paginates and virtualizes its listings, and installs no longer fail against a 25-second timeout.
  • The detach-role dialog no longer shows a raw translation key and now spaces the role name correctly.
  • Removed a distracting fade animation on the sidebar toggle.

New

  • File and secret access can now be restricted per role: file and secret reads moved to the editor tier, and new groups default to the member grant.
  • A warning now appears when a group's built-in grant overrides its assigned custom role.
  • The New Project modal has an account picker, so you can choose which workspace a new project lands in.

Improved

  • A smoother session-starting loader.
  • A full accuracy pass over the docs (SDK, CLI, reference, and concepts) against the current code.

What's Changed

  • chore(release): VERSION → 0.9.99 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4265
  • feat(web): account picker in the New Project modal by @markokraemer in https://github.com/kortix-ai/suna/pull/4266
  • fix(marketplace): paginate + virtualize the marketplace, fix 25s install timeout by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4257
  • revert: undo daytona→managed provider-identity rename (identity stays daytona) by @kubet in https://github.com/kortix-ai/suna/pull/4267
  • chore(dev-eks): deploy gateway dev-0fd3ce32 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4270
  • feat(iam): restrictable files/secrets (reads→editor) + least-privilege group defaults by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4268
  • chore(dev-eks): deploy dev-917433b8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4271
  • fix(llm-providers): provider API keys are always project-wide by @markokraemer in https://github.com/kortix-ai/suna/pull/4272
  • chore(dev-eks): deploy dev-f5293d97 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4274
  • fix: prod error-feed cleanup — git-cache LRU cap, name overflow, oauth uuid probes, Safari regex crash, shader guards by @markokraemer in https://github.com/kortix-ai/suna/pull/4269
  • chore(dev-eks): deploy gateway dev-02c369bd [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4276
  • chore(dev-eks): deploy dev-02c369bd [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4277

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.9.98...v0.9.99

Release on GitHub
July 7, 2026

Marketplace by default, People Search, SCIM provisioning, and session reliability

v0.9.98

New

  • Marketplace is on by default. Every project can now browse and install marketplace skills without a feature flag. Kortix Meet, Kortix Computer, and People Search are opt-in installs rather than part of the default set.
  • People Search. A new starter tool that searches LinkedIn profiles (backed by Apify), runs to completion without timeouts, and is billed per call.
  • Expanded skill library. A much larger set of default skills ships with every new project, and the auto-created "My First Project" now gets the full starter pack.
  • SCIM provisioning that just works. Error-free user provisioning from your IdP: invited users arrive active, PUT updates are supported, email lookups are dedup-safe, and Azure AD connector setup gets /ResourceTypes + /Schemas discovery. The SCIM setup dialog now shows the paste-ready absolute base URL.
  • SSO group auto-provisioning. An opt-in toggle creates groups (and their mappings) automatically from IdP claims on login, so directory structure flows into Kortix without manual setup. SSO and SCIM settings cards got status pills and visual group mappings.
  • Upgrades section. Projects have an Upgrades registry with a one-off prompt runner, so platform-side improvements (like a baseline refresh) can be applied to existing projects on demand.
  • Files is a standalone page with Google Drive-style colored folder tiles, out of the Customize overlay. Customize itself moves to a master-detail sidebar for agents, skills, and commands.
  • Warm prebake on push. Sandbox images warm when a commit lands — for every provider a session can use — so sessions on recently-active projects boot faster.
  • CLI: attach to a session. kortix can now attach directly to a running session's agent from the terminal.
  • Per-account concurrent-session limits. Accounts can carry a custom concurrent-session override, and hitting the limit now explains exactly what happened.
  • SDKs on npm. @kortix/sdk and @kortix/llm-catalog now publish to npm with every release, in lockstep with the platform version, joining @kortix/executor-sdk.

Improved

  • Sandboxes no longer idle for hours. An observe-idle reaper with 15-minute/5-minute TTLs, a busy probe, and a provider backstop stop stopped-but-billing dead time.
  • Agents automatically resume work when a turn is killed by a transient model-provider error, instead of stopping silently.
  • The LLM gateway no longer forwards empty completions: it retries the same model once, then fails over to the next candidate. Upstream provider errors now surface in the stream instead of hanging it.
  • The full member directory is visible to all account members (sensitive columns stay manager-only), and member counts reflect what the viewer can see. "Departments" are now "groups" throughout.
  • The PDF viewer opens at a comfortable zoom with the sidebar closed, and presentation viewers drop redundant download buttons.

Fixed

  • Change requests can no longer be empty. An agent that committed but never pushed used to produce a silent "No changes detected" change request; the push step is now enforced and empty CRs are rejected at open time.
  • Session lifecycle races. Starting a brand-new session no longer trips over its own creation (the create-vs-start race), deleting a session mid-provision can no longer resurrect it, the first prompt of a new session is no longer dropped while the agent restarts, a session page open on a stopped sandbox no longer hammers it with requests, and the create-first flow no longer bounces back to the project index.
  • The project-home composer keeps its text while navigating into the new session, and the sidebar flyout stays open while one of its menus is open.
  • Legacy daytona provider names are normalized at session create, so older projects keep working after the provider rename.
  • Suna migration pushes are now idempotent across pods and strip oversized blobs instead of failing.
  • Snapshot cache keys are scoped to in-sandbox inputs, so unrelated source changes no longer invalidate sandbox snapshots.
  • AgentMail inbox limits are handled gracefully instead of erroring the channel.
  • API and gateway origin load balancers only accept traffic from Cloudflare, closing a WAF-bypass path.
  • Gateway request logs strip NUL bytes before persisting, fixing a recurring database write error.

Internal

  • CI hardening: staging keeps its VERSION in sync on release, a duplicate migration was deduped before it could break deploys, staging QA runs behind Vercel SSO with a bypass token, the direct prod hotfix workflow is retired, and dependency/action versions are bumped across the board.

What's Changed

  • Promote main to staging for v0.9.79 by @markokraemer in https://github.com/kortix-ai/suna/pull/3866
  • Promote main → staging (v0.9.80 candidate) by @markokraemer in https://github.com/kortix-ai/suna/pull/3871
  • fix(api): handle AgentMail inbox limit errors by @markokraemer in https://github.com/kortix-ai/suna/pull/3880
  • Promote main → staging (release candidate v0.9.82) by @markokraemer in https://github.com/kortix-ai/suna/pull/3898
  • chore(slack): enable identity gate on staging by @markokraemer in https://github.com/kortix-ai/suna/pull/3913
  • Promote main to staging: account membership repair by @markokraemer in https://github.com/kortix-ai/suna/pull/3937
  • Promote main to staging: accounts me bootstrap by @markokraemer in https://github.com/kortix-ai/suna/pull/3941
  • fix(api): wait for opencode ready after first-prompt env restart by @markokraemer in https://github.com/kortix-ai/suna/pull/3992
  • fix(gateway): strip NUL bytes before persisting gateway request logs (prod 22P05) [staging] by @markokraemer in https://github.com/kortix-ai/suna/pull/4015
  • fix(api): suna-migration repo phase idempotent + pod-independent (prod hotfix) by @lillyboga in https://github.com/kortix-ai/suna/pull/4022
  • feat(sandbox): per-project sandbox-provider override (staging) by @kubet in https://github.com/kortix-ai/suna/pull/4048
  • fix(sandbox): verify opencode-config-deps bundles at bake time [staging hotfix] by @markokraemer in https://github.com/kortix-ai/suna/pull/4076
  • feat(projects): read-only platform-admin bypass on the project access gate by @markokraemer in https://github.com/kortix-ai/suna/pull/4085
  • fix(llm-gateway): fail over on empty-choices completions instead of forwarding them [staging hotfix] by @markokraemer in https://github.com/kortix-ai/suna/pull/4100
  • fix(llm-gateway): auto-retry the same candidate on an empty completion before failing over [staging hotfix] by @markokraemer in https://github.com/kortix-ai/suna/pull/4104
  • fix(llm-gateway): pin managed GLM to Z.AI host + surface in-stream upstream error frames by @markokraemer in https://github.com/kortix-ai/suna/pull/4146
  • feat(sandbox-agent): auto-resume root turns killed by transient provider errors by @markokraemer in https://github.com/kortix-ai/suna/pull/4152
  • fix: stop stopped-sandbox request storm on session page + heal staging VERSION drift by @markokraemer in https://github.com/kortix-ai/suna/pull/4158
  • fix(web): stop stopped-sandbox request storm on session page by @markokraemer in https://github.com/kortix-ai/suna/pull/4159
  • chore(release): staging VERSION → 0.9.97 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4162
  • chore(release): VERSION → 0.9.98 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4208
  • chore(release): staging VERSION → 0.9.98 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4209
  • feat(sandbox): build-on-push warm prebake (warm on commit, not just session-start) by @kubet in https://github.com/kortix-ai/suna/pull/4206
  • chore(dev-eks): deploy dev-499ebd32 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4212
  • fix(cr): make an empty change request impossible to open + harden agent CR contract by @markokraemer in https://github.com/kortix-ai/suna/pull/4207
  • feat(web): Upgrades section (registry + one-off prompt runner) + v2 prompt baseline-refresh by @markokraemer in https://github.com/kortix-ai/suna/pull/4213
  • fix(sessions): close the delete-mid-provision resurrection race by @markokraemer in https://github.com/kortix-ai/suna/pull/4211
  • feat(billing): per-account concurrent-session override + clearer limit-hit copy by @markokraemer in https://github.com/kortix-ai/suna/pull/4210
  • chore(dev-eks): deploy dev-31e33006 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4214
  • chore(deps): bump bridgecrewio/checkov-action from 12.3107.0 to 12.3112.0 by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/4188
  • chore(deps): bump terraform-linters/setup-tflint from 6.2.2 to 6.3.0 by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/4186
  • chore(deps): bump actions/attest-build-provenance from 4.1.0 to 4.1.1 by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/4185
  • chore(deps): bump aws-actions/configure-aws-credentials from 4 to 6 by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/3675
  • chore(deps): bump actions/checkout from 4 to 7 by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/3999
  • fix(sessions): normalize legacy 'daytona' provider at session-create (rename back-compat) by @kubet in https://github.com/kortix-ai/suna/pull/4215
  • chore(dev-eks): deploy dev-e2b7f82a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4216
  • chore(deps): bump postcss from 8.4.33 to 8.5.10 in /apps/web by @dependabot[bot] in https://github.com/kortix-ai/suna/pull/4083
  • fix(infra): lock API + gateway origin ALBs to Cloudflare IP ranges by @markokraemer in https://github.com/kortix-ai/suna/pull/4121
  • Use the Kortix ASCII logo loader on main page loads by @markokraemer in https://github.com/kortix-ai/suna/pull/3972
  • content: publish AI transformation company OS by @agent-kortix in https://github.com/kortix-ai/suna/pull/3989
  • fix(api): strip oversized blobs from suna-migration repo push by @lillyboga in https://github.com/kortix-ai/suna/pull/4026
  • chore(dev-eks): deploy dev-88470e21 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4217
  • Add CLI session OpenCode attach by @agent-kortix in https://github.com/kortix-ai/suna/pull/4050
  • fix(web): enable Vercel deploys from prod branch by @markokraemer in https://github.com/kortix-ai/suna/pull/3861
  • fix(sandbox): raise auto-archive default 6h -> 12h by @markokraemer in https://github.com/kortix-ai/suna/pull/4218
  • chore(dev-eks): deploy dev-cd6a804f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4219
  • feat(starter): expand the Kortix skill library (default + marketplace) by @markokraemer in https://github.com/kortix-ai/suna/pull/3969
  • chore(dev-eks): deploy dev-6a15997a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4220
  • fix(web): give auto-created "My First Project" the full starter pack by @markokraemer in https://github.com/kortix-ai/suna/pull/4221
  • fix(web): drop presentations viewer download buttons; PDF viewer 50% zoom + sidebar closed by default by @markokraemer in https://github.com/kortix-ai/suna/pull/4223
  • feat(marketplace): enable by default; move kortix-meet/kortix-computer to opt-in by @markokraemer in https://github.com/kortix-ai/suna/pull/4222
  • chore(dev-eks): deploy dev-064f6d68 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4224
  • Promote main to staging (full dev candidate, pre-0.9.98) by @markokraemer in https://github.com/kortix-ai/suna/pull/4225
  • feat(web): Files as a standalone page (out of Customize) by @markokraemer in https://github.com/kortix-ai/suna/pull/4226
  • test(web): update customize rail test for standalone Files page by @markokraemer in https://github.com/kortix-ai/suna/pull/4227
  • fix(db): drop duplicate session-limit-override migration (unblocks staging + prod migrations) by @markokraemer in https://github.com/kortix-ai/suna/pull/4229
  • fix(sandbox): kill idle dead-time — 15m autostop, 5m trigger TTL, pre-stop busy probe, resume grace by @markokraemer in https://github.com/kortix-ai/suna/pull/4228
  • Promote main to staging: idle dead-time fix + standalone Files page by @markokraemer in https://github.com/kortix-ai/suna/pull/4231
  • fix(db): drop duplicate session-limit-override migration on main (unblocks Deploy Dev) by @markokraemer in https://github.com/kortix-ai/suna/pull/4230
  • Feat/sso auto provision groups by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4197
  • chore(dev-eks): deploy dev-933d6108 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4233
  • fix(snapshots): stop dev-only CLI/test churn from re-minting every project's sandbox runtime identity by @kubet in https://github.com/kortix-ai/suna/pull/4232
  • chore(dev-eks): deploy dev-9b5f789f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4235
  • feat(customize): master-detail sidebar for agents, skills & commands by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4234
  • fix(accounts): members count reflects caller visibility, not raw total by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4236
  • chore(dev-eks): deploy dev-e63f8e56 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4238
  • fix(scim): show the absolute SCIM base URL so it's paste-ready for the IdP by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4237
  • fix(iam): SCIM dialog overflow + SSO/SCIM settings-card polish by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4239
  • fix(sandbox): warm prebake-on-push pre-warms every provider a session can use (parity) by @kubet in https://github.com/kortix-ai/suna/pull/4242
  • chore(dev-eks): deploy dev-b692ede7 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4243
  • fix(scim): actually contain the SCIM token dialog (grid-item min-w-0) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4240
  • fix(scim): error-free Okta/Azure provisioning (invites active, PUT, dedup) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4244
  • fix(web): don't clear the project-home composer before it navigates away by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4241
  • refactor(ui): rename "department" labels to "groups" by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4246
  • chore(dev-eks): deploy dev-7613e9f9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4248
  • fix(web): keep sidebar flyout open while an anchored menu is open by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4247
  • feat(scim): /ResourceTypes + /Schemas discovery for Azure AD by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4245
  • feat(accounts): member directory visible to all members by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4249
  • chore(dev-eks): deploy dev-6c39b7c8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4250
  • Promote main to staging: SCIM/IdP provisioning, member directory, prebake parity by @markokraemer in https://github.com/kortix-ai/suna/pull/4251
  • fix(sdk): tolerate /start 404 for freshly minted sessions (create-vs-start race) by @markokraemer in https://github.com/kortix-ai/suna/pull/4252
  • Promote main to staging: SDK create-vs-start race fix by @markokraemer in https://github.com/kortix-ai/suna/pull/4255
  • fix(web): keep the instant session shell up on transient start errors and calm the session-start UI by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4253
  • feat(project-files): Google Drive-style colored folder tiles by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4254
  • fix(sessions): tolerate the create-vs-start race on fresh sessions by @lillyboga in https://github.com/kortix-ai/suna/pull/4256
  • chore(dev-eks): deploy dev-6f6a9307 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4258
  • fix(web): create-first new-session flow — no silent bounce back to the project index by @markokraemer in https://github.com/kortix-ai/suna/pull/4259
  • Promote main to staging: session-start race fixes + create-first flow + folder tiles by @markokraemer in https://github.com/kortix-ai/suna/pull/4260
  • Revert "fix(web): keep the instant session shell up on transient start errors and calm the session-start UI" by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4261
  • Promote main to staging: revert of the instant-session-shell change (#4261) by @markokraemer in https://github.com/kortix-ai/suna/pull/4262

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.9.97...v0.9.98

July 6, 2026

Per-account session-limit override + session delete/provision race fix

v0.9.97

This release ships two changes:

1. Per-account concurrent-session override (f162d38289) Concurrent-session caps were tier-only. Adds an operator-set per-account override (credit_accounts.max_concurrent_sessions; NULL = tier decides, a positive integer wins over the tier in both directions) and a clearer 429 message that includes the account's actual limit. Wired through session-create enforcement, trigger backpressure, and the billing account-state response.

2. Session-delete-mid-provision resurrection race fix (this promotion's second change) A session deleted while its sandbox was still provisioning could come back to life: the fire-and-forget provisioner had no status guards on its finish-of-provisioning writes, so a session deleted mid-provision could be flipped back to 'running' (and billed) after the user had already deleted it. Both finish-of-provisioning writes are now conditional on the session not having been deleted/archived in the meantime; two related hardening fixes close the same class of gap in continueSession's revival path and the stuck-session reaper sweep.

Migration: 20260706034600000_account_session_limit_override.sql

  • Adds nullable kortix.credit_accounts.max_concurrent_sessions (int)
  • Idempotent upsert seeding the internal Kortix dogfood account (3b1fc472-a90e-404f-823f-ca42f6b32e4d) with an effectively-uncapped override of 100000 This is the only migration pending between prod and staging.

Rollback: additive-only migration (ADD COLUMN IF NOT EXISTS + idempotent upsert), safe to leave in place. A bad release rolls back via Path 1 in docs/runbooks/rollback-procedure.md: revert the merge commit on prod (PR, reviewed, same gate as forward deploys) — Argo CD self-heals to the prior image tag. No down-migration is needed or defined (matches this repo's node-pg-migrate convention).

What's Changed

  • chore(release): VERSION → 0.9.97 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4163
  • fix(accounts): name unnamed accounts after their owner, not the caller by @markokraemer in https://github.com/kortix-ai/suna/pull/4166
  • chore(dev-eks): deploy dev-40a4b072 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4167
  • feat(sdk+web): perfect tool-call handling — embedded failures surfaced everywhere + dev credit-gate exemption by @markokraemer in https://github.com/kortix-ai/suna/pull/4165
  • chore(dev-eks): deploy dev-cd3a5d16 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4168
  • refactor(web): replace document/data viewers with Extend UI components by @markokraemer in https://github.com/kortix-ai/suna/pull/4157
  • chore(dev-eks): deploy gateway dev-e5b910cb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4169
  • chore(dev-eks): deploy dev-e5b910cb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4170
  • chore: retire the basejump account framework by @markokraemer in https://github.com/kortix-ai/suna/pull/4171
  • chore(dev-eks): deploy dev-46ee7395 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4172
  • feat(agents): agent-first config & authorization v2 — manifest, native-.md model, IAM, secrets v2, canonical schema by @markokraemer in https://github.com/kortix-ai/suna/pull/4164
  • chore(dev-eks): deploy gateway dev-68aef1c6 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4173
  • fix(sandbox): reap superseded per-project warm images on bake (Daytona quota) by @kubet in https://github.com/kortix-ai/suna/pull/4175
  • feat(web): sign in with SSO — route work-email domains to their SAML IdP by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4174
  • fix(iam): SSO users land in their org — parse real Supabase SAML JWT + await JIT sync by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4177
  • fix(db): reorder #4164 migrations after retire_basejump — unblock dev deploys by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4178
  • chore(dev-eks): deploy dev-73fbee99 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4179
  • fix(iam): run SAML JIT sync on all Supabase-auth paths (network + combinedAuth) by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4180
  • fix(api): scope account member/invite reads to member-managers by @markokraemer in https://github.com/kortix-ai/suna/pull/4181
  • chore(dev-eks): deploy dev-06a9855d [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4182
  • fix(api): name auto-provisioned accounts after the signup email by @markokraemer in https://github.com/kortix-ai/suna/pull/4183
  • chore(dev-eks): deploy dev-13084eb8 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4184
  • fix(iam): read SSO group claim from user_metadata.custom_claims by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4187
  • chore(dev-eks): deploy dev-22ee9c5a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4189
  • chore(dev-eks): deploy dev-407e5439 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4190
  • chore(dev-eks): deploy dev-409d772f [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4192
  • chore(dev-eks): deploy dev-33febbf0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4193
  • chore(dev-eks): deploy dev-5c3f7abe [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4194
  • chore(dev-eks): deploy dev-2a4a25b7 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4195
  • fix(sandbox): ppwarm reap skips Platinum soft-delete tombstones by @kubet in https://github.com/kortix-ai/suna/pull/4196
  • chore(dev-eks): deploy dev-6a1f1e00 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4199
  • fix(approvals): approvals await response & auto-continue like questions; session/config allow scopes by @markokraemer in https://github.com/kortix-ai/suna/pull/4191
  • chore(dev-eks): deploy dev-eb23048a [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4200
  • feat(web): v2 migration gets its own customize sidebar section + giga migration prompt by @markokraemer in https://github.com/kortix-ai/suna/pull/4202
  • refactor(web): fold connector 'sensitive' into Permissions default selector by @markokraemer in https://github.com/kortix-ai/suna/pull/4204
  • feat(provider): rename sandbox provider daytona → managed (backward-compatible) by @kubet in https://github.com/kortix-ai/suna/pull/4201
  • chore(dev-eks): deploy dev-3c22b400 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4205

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.9.96...v0.9.97

July 6, 2026

Fix session-page reconnect storm against stopped sandboxes

v0.9.96

Stops the infinite refresh/reconnect storm on the session page when a sandbox is stopped. A stopped box answers /kortix/health with 503; the frontend misread that as connected+booting and fast-polled every 150ms forever, which re-fired all health-gated file/SSE queries (walls of /global/event 503s, auth0 CORS redirects, /file/content?path=.opencode 400s). Now the 503 boot window is bounded (120s -> mark unreachable, 5s poll), and .opencode/.kortix/.git are never read as file content.

What's Changed

  • chore(release): VERSION → 0.9.96 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4156
  • feat(sdk+whitelabel): Kortix-as-a-Backend — wrapper-backend reference + server-grade SDK surface by @markokraemer in https://github.com/kortix-ai/suna/pull/4145
  • chore(dev-eks): deploy dev-533a23be [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4160

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.9.95...v0.9.96

July 5, 2026

Turn auto-resume for transient provider errors

v0.9.95

Agent sessions now automatically resume a turn killed by a transient provider failure (e.g. a model host stall ending in "Upstream idle timeout exceeded", connection resets, 5xx after retries) instead of surfacing a dead error turn. Root sessions only, max 3 resumes per 15 minutes with backoff, never for user aborts or auth/credit errors, kill switch KORTIX_TURN_AUTO_RESUME=0. Completes the v0.9.94 GLM routing fix.

What's Changed

  • chore(release): VERSION → 0.9.95 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4151
  • feat(sandbox-agent): auto-resume root turns killed by transient provider errors (main backsync of #4152) by @markokraemer in https://github.com/kortix-ai/suna/pull/4153
  • chore(dev-eks): deploy dev-b33eedaa [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4155

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.9.94...v0.9.95

July 5, 2026

Fix GLM stream failures: pin Z.AI host + trace in-stream upstream errors

v0.9.94

Fixes the production "Upstream idle timeout exceeded" turn failures on GLM 5.2.

  • Managed glm-5.2 requests now carry OpenRouter provider routing preferences (order: [z-ai], fallbacks allowed) so they land on Z.AI's first-party endpoint (99.9% uptime, native fp8) instead of being load-balanced across ~20 hosts including low-uptime fp4 requantizations that stall mid-generation until OpenRouter kills the stream.
  • The LLM gateway now detects in-stream upstream error frames (a 200 stream carrying {"error": ...}) and settles the request as upstream_stream_error with a warn log, instead of tracing a dead turn as a success — this failure class is now visible and alertable.
  • Pre-content error frames keep flowing into the existing empty-completion retry/failover path (now regression-tested).

What's Changed

  • chore(release): VERSION → 0.9.94 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4110
  • Feat/review center by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4003
  • chore(dev-eks): deploy dev-7a7af2fb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4111
  • fix(sandbox): default LLM catalog to baked image file on cold boot (~2s off spawn) by @kubet in https://github.com/kortix-ai/suna/pull/4112
  • chore(dev-eks): deploy dev-fef2ecb5 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4113
  • feat(sandbox): per-project rootfs warm bake — bake repo into a cold image, no memory snapshot by @kubet in https://github.com/kortix-ai/suna/pull/4115
  • chore(dev-eks): deploy dev-875c3a02 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4116
  • fix(api): never 402 the per-session audit endpoint — it is the approval control plane by @markokraemer in https://github.com/kortix-ai/suna/pull/4117
  • chore(dev-eks): deploy dev-f2f43435 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4118
  • feat(iam): agent-scoped secrets & connectors, Review Center, per-agent model by @Ino-Bagaric in https://github.com/kortix-ai/suna/pull/4114
  • chore(dev-eks): deploy gateway dev-c5db3ce9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4122
  • chore(dev-eks): deploy dev-c5db3ce9 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4123
  • Fix API transport hardening and runtime DB grants by @markokraemer in https://github.com/kortix-ai/suna/pull/4125
  • Desktop: align chrome with macOS traffic lights + offcanvas sidebar by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4119
  • feat(web): Google Drive-style Files UX + plain-language git semantics by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4094
  • refactor(sdk+web): make @kortix/sdk the single entry point for session handling and the web data layer by @markokraemer in https://github.com/kortix-ai/suna/pull/4124
  • chore(dev-eks): deploy gateway dev-13d7ee90 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4126
  • chore(dev-eks): deploy dev-13d7ee90 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4127
  • feat(sdk+web): wave 2 — kortix-master client, facade coverage 85→157, typed errors wired end-to-end by @markokraemer in https://github.com/kortix-ai/suna/pull/4128
  • chore(dev-eks): deploy dev-6eff189e [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4129
  • refactor(sdk+web): wave 3 — framework-free event stream, send-cluster extraction, /v1/p fix, sharing e2e by @markokraemer in https://github.com/kortix-ai/suna/pull/4130
  • chore(dev-eks): deploy dev-6f449848 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4131
  • feat(web): show live boot progress inline in the thread by @lillyboga in https://github.com/kortix-ai/suna/pull/4132
  • feat(sdk+mobile+api): wave 4 — mobile adopts the SDK, anonymous share viewing, files-twin stage 1, facade completion by @markokraemer in https://github.com/kortix-ai/suna/pull/4133
  • chore(dev-eks): deploy dev-55d6fba0 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4134
  • feat(iam): finalise IAM/RBAC v1 — security fixes, legacy purge, coverage, enterprise UX by @markokraemer in https://github.com/kortix-ai/suna/pull/4135
  • chore(dev-eks): deploy dev-22fda9f2 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4136
  • chore(dev-eks): deploy gateway dev-5c3bafbb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4138
  • chore(dev-eks): deploy dev-5c3bafbb [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4139
  • feat(agents): agent-first config & authz foundation — manifest v2, compiler, identity, enforcement by @markokraemer in https://github.com/kortix-ai/suna/pull/4140
  • chore(dev-eks): deploy dev-d4d0ee71 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4141
  • Revert #4140 — hold agent-first foundation for review before merge by @markokraemer in https://github.com/kortix-ai/suna/pull/4142
  • chore(dev-eks): deploy dev-b2e45872 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4143
  • feat(web): wallpaper shader overhaul by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4093
  • feat(web): sidebar — full offcanvas collapse + edge-hover flyout by @sutharjay1 in https://github.com/kortix-ai/suna/pull/4144
  • fix(llm-gateway): pin managed GLM to Z.AI host + surface in-stream upstream error frames (main backsync of #4146) by @markokraemer in https://github.com/kortix-ai/suna/pull/4147
  • chore(dev-eks): deploy gateway dev-82786802 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4148
  • chore(dev-eks): deploy dev-82786802 [skip ci] by @github-actions[bot] in https://github.com/kortix-ai/suna/pull/4150

Full Changelog: https://github.com/kortix-ai/suna/compare/v0.9.93...v0.9.94

Read the full release on GitHub
Read the full release on GitHub
Release on GitHub
Release on GitHub
Release on GitHub
Previous
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10