Provider keys work everywhere, Gmail connections finish, and Slack answers as your agent
New
- Kortix answers in Slack as the agent you picked, with its name and face, and always replies, even when a turn fails.
- Pick which ChatGPT or Claude subscription a turn runs on, right in the model picker.
- Install Kortix on your home screen as an app, with an offline shell.
- Agents set their own check-ins and goals instead of asking you to check back.
Improved
- New API keys, ChatGPT accounts and Claude accounts are shared with everyone in the workspace by default when you may share workspace keys. You can still make one private.
kortix providers setsaves the key where Models → Providers lists it, with--privateand--label.- Testing a model shows the provider's own answer, such as "invalid x-api-key", and the request appears in Logs.
- When a key exists but is private to another member, the error says so instead of "not connected".
- Faster prompt handling, session-log reads and skill loading in large workspaces.
- All web components run on one UI foundation.
Fixed
- A provider key added in Models → Providers works everywhere: the model test,
kortix gateway test, gateway API keys, sessions started without a key selection, and automations. Before, these said "No API key is connected" with the key in the list. - Gmail and other app connections that finished sign-in now work on first use, and the production webhook for app events receives its events.
- Automations that start on an app event activate when the account is shared with the automation's agent.
- An automation on a Claude subscription no longer fails with "No usable model"; when only private keys exist, it says how to fix it.
- A workspace link shows "Ask for access" to non-members again; admins can find a workspace by ID.
- MCP clients that sign in through the consent page work again.
- App machines: a start in progress answers 503, and exec gets its full time limit.
- Drive writes that the sandbox host refused are replayed.
- The background worker no longer crashes every ~90 minutes.
- Signed-in visitors never see the marketing landing; marketing pages scroll normally.
What's Changed
- perf(db): index the peer-messages circle lookups on project_sessions (KRTX-4729) by @agent-kortix in #12432
- fix(api): the worker no longer crashes every ~90 min from unreaped git zombies by @DimitrijeGlibic in #12439
- fix(apps): answer a machine start still in progress with 503, not a 500 (KRTX-4730) by @agent-kortix in #12435
- fix(marketplace): resolve pasted GitHub repo URLs and log expected registry 404s at info (KRTX-4737) by @agent-kortix in #12441
- fix(mcp): an MCP client that signs in through the consent page can use Kortix MCP again by @DimitrijeGlibic in #12444
- fix(release): the v0.15.7 release suite passes again by @DimitrijeGlibic in #12447
- fix(api): the capabilities route reads a cold store in one batched fetch, not one per skill (KRTX-4739) by @agent-kortix in #12443
- perf(api): the session-log pointer read stops reading the newest record payload (KRTX-4733) by @agent-kortix in #12445
- chore(security): @kubet reviews auth, IAM, crypto and secrets changes by @kubet in #12452
- fix(web): a signed-in visitor never sees the marketing landing (KRTX-4736) by @agent-kortix in #12453
- fix(api): cap the denial-log warn escalation at one per key per hour after ee33cf4 (KRTX-4674) by @agent-kortix in #12438
- fix(release): v0.15.7 release suite, round 2 (PCRE git, config stub, audit scan) by @DimitrijeGlibic in #12455
- fix(api): App machine exec gets the 95 s completion deadline, not the 25 s general one (KRTX-4738) by @agent-kortix in #12446
- fix(admin): find a workspace by ID and open a non-member workspace link as admin by @markokraemer in #12460
- refactor(web): dedupe MFA helpers, flatten page context, break the analytics cycle (KRTX-4743) by @agent-kortix in #12461
- refactor(ui): all web primitives run on Base UI; Radix, cmdk and vaul are gone by @markokraemer in #12454
- chore(release): staging VERSION → 0.15.8 [skip ci] by @github-actions[bot] in #12464
- chore(release): VERSION → 0.15.8 [skip ci] by @github-actions[bot] in #12463
- perf(api): batch-prefetch prompt files and grow the governance compile cache (KRTX-4740) by @agent-kortix in #12451
- docs(learnings): a version-floored CI tool install fails below the floor by @DimitrijeGlibic in #12465
- docs(learnings): probe a sandbox host's data plane through a real signed preview request by @markokraemer in #12466
- refactor(web): one blur keyframe, one fade, one memo (KRTX-4727) by @agent-kortix in #12462
- fix(web): marketing pages scroll natively again (wheel stops when you stop) by @agent-kortix in #12468
- feat(web): installable PWA Add-to-Home-Screen app shell with offline support (KRTX-4719) by @agent-kortix in #12424
- fix(api): replay the drive storage writes Platinum refused to run (KRTX-4745) by @agent-kortix in #12467
- fix(workspaces): a workspace link shows "Ask for access" to non-members again, not "gone" by @markokraemer in #12471
- refactor(web): the IAM settings copy localizes and its roster and field helpers unify (KRTX-4735) by @agent-kortix in #12458
- feat(web): pick the ChatGPT or Claude subscription a turn runs on, in the model picker (KRTX-4728) by @agent-kortix in #12469
- fix(web): default the Turbopack build cache off on machines that cannot hold it (KRTX-4741) by @agent-kortix in #12457
- refactor(web): unify the MFA hooks behind one service and one query key (KRTX-4748) by @agent-kortix in #12473
- feat(api): the agent sets its own check-ins and goals instead of asking to check back (KRTX-4746) by @agent-kortix in #12476
- fix(gateway): provider keys added in the Models panel work outside a chat session by @markokraemer in #12483
- fix(connectors): a finished Composio sign-in works on first use, even when Kortix missed it by @markokraemer in #12484
- test(web): regression journey: marketing pages scroll natively (KRTX-4744) by @agent-kortix in #12472
- fix(api): prod receives its own Composio webhook events by @markokraemer in #12486
- feat(slack): Kortix answers in Slack as the selected agent, and never goes silent by @markokraemer in #12474
- fix(gateway): the model test shows the provider's refusal instead of "Request failed" by @markokraemer in #12488
- fix(api): the preview wake starts a Platinum box its control plane refused (KRTX-4749) by @agent-kortix in #12475
- fix: event triggers work on agent-shared accounts; clearer CLI and gateway errors by @markokraemer in #12490
- Promote dev 552befb to staging by @github-actions[bot] in #12491
- fix(release): the v0.15.8 release suite passes again (staging) by @markokraemer in #12508
- fix(api): GET /v1/agent-marks/:file has a workspace binding (staging) by @markokraemer in #12520
- Release v0.15.8 — Provider keys work everywhere, Gmail connections finish, and Slack answers as your agent by @github-actions[bot] in #12496
Full Changelog: v0.15.7...v0.15.8