Skip to content

A channel attachments gallery, specialist memory, Codex specialists, and a steadier workflow editor

Browse every file shared in a channel from one gallery, give specialists long-term memory, run Codex as a local specialist, and edit workflows without losing your work — plus a faster cold start and a long polish pass.

This release adds a channel attachments gallery so you can find every file a channel has ever shared in one place, gives specialists always-on memory that carries context between conversations, lets you run Codex as a local specialist, and makes the workflow editor far harder to lose work in. The app also starts faster, and a long batch of chat, navigation, settings, and account-recovery fixes lands alongside.

Channels now have an attachments gallery that collects every file shared in the conversation — images, documents, and code — into a single browsable view. Instead of scrolling back through the transcript to find that screenshot or spec someone posted last week, open the gallery and go straight to it.

Give specialists long-term memory

Specialists now have always-on memory tools, so they can remember the facts, preferences, and context you’ve shared and carry them forward into later conversations instead of starting cold every time. Memory is scoped per workspace with privacy boundaries enforced, and an empty memory search now correctly lists the memories a specialist can actually see.

Run Codex as a local specialist

You can now add Codex local variants as specialists, alongside the existing Claude Code support, and Claude Code variants can now edit files directly. Variant runtime aliases resolve correctly, so the right runtime is picked even when a specialist is referenced by an alternate id.

A more reliable workflow editor

Editing workflows is much harder to lose work in. The editor now clears undo/redo history on save and tracks the dirty flag correctly for brand-new workflows, preserves your workflow name through a post-migration reload instead of letting a stale collaborative copy overwrite it, and keeps imported n8n drafts instead of silently clearing them. Saving after an import on an existing route navigates to the new workflow rather than stranding you, and stale canvas state is cleared when you switch runs from the sidebar.

Importing from n8n is steadier too: the JSON is validated before the Import button enables, and imports are validated before the discard prompt. The node editor no longer crashes on select options with empty values, palette-created nodes seed their catalog field defaults, the MiniMap is pointer-transparent so canvas nodes underneath stay clickable, and run-detail tabs can no longer push the secondary sidebar off-screen. Headless node execution now enforces a trusted identity and workspace before it runs.

Specialists polish

The specialist experience picks up a long list of refinements. The model catalog now distinguishes a permissions (403) error from a connectivity problem and offers a retry, provider-unavailable errors show the model’s display name and point you to a reachable recovery path, and unsigned-install consent stays interactive so you can make the call yourself. Template category filters are derived from the templates that actually loaded, filtered results scroll into view when you click a category chip, Platform Suites respect the quality filter, bundled first-party signatures are trusted, empty permission arrays serialize correctly, and the Claude Code MCP config is passed as valid even when empty.

In the specialist builder, files you drop now show up as chat attachment chips and are staged per message instead of being silently added as knowledge, and knowledge sources are indexed with best-effort enrichment.

Cleaner notifications

Two notification annoyances are fixed: workspace badges now stay cleared after you read a conversation because read sources are pruned on reconcile, and a runaway loop that re-delivered Chloe messages and spawned phantom Chloe DM entries is stopped.

Steadier navigation and workspace switching

Moving between workspaces is more solid. Only the active workspace’s rail switcher mounts, workspace avatars stay visible, and clicking the active workspace icon from your DMs now takes you into the workspace. Re-clicking the workspace rail icon you’re already on is a no-op, the workspace-switcher avatar is clickable again after an overlay was eating the click, returning from Settings keeps the UI scale stable, pending workspace chrome is wrapped correctly so it renders, and you can no longer accidentally select the app chrome text.

Settings and Bedrock

Settings is tidier and more reliable. The settings navigation structure, sidebar visibility, and skills card are cleaned up, and switching sections no longer shows stale tab content. Bedrock connections refresh their credential status right after you save, the model pickers list only the models you can actually access, and the Test button now reads as an action rather than an input field. The GitHub access-token link includes the scopes it needs, the language-server “not found” copy is reframed as an install status, the capabilities banner gives visible feedback when you retry, Personal and Preferences render on the workspace-less account route, and workspace variant detaches now persist.

Account recovery and sign-out

When something goes wrong with workspace access you now see the truth instead of a misleading empty state: a stale 403 shows a workspace-recovery state rather than a new-user screen, the home page surfaces a recoverable banner when access fails, and there’s a clearer empty state when no workspace is active. Your real account identity shows instead of “Unknown Account”, and Sign out everywhere asks for confirmation first.

Sandbox

Sandbox profiles reject duplicate names in the create and edit form, the MCP test-connection status clears when you switch transport tabs, deployment card action buttons route through the action registry, and the canvas pop-out is hidden when there’s no view to detach. The sandbox sidecar also gains --version and --raw output.

Faster startup

App initialization is optimized — auth and workspace loading now happen more efficiently — so the app is ready for you sooner after launch.

Polish & fixes

Chat picks up reliability fixes: sent messages render from the server acknowledgement, a send error no longer flashes after a message is already acked, the New DM dialog shows a permission-denied message instead of a raw network error on a 403, opening a Chloe DM surfaces the real reason when it fails, channel-open no longer stalls when the collaborative workspace is mismatched on startup, DM history refreshes after a notification-triggered room connect, the notification event outbox is retired, edited-message history round-trips correctly, canvas controls stay clickable in multi-panel layouts, a channel notice no longer renders as a message from the previous sender, and Message Details no longer shows a raw specialist UUID as an @-handle.

Elsewhere: the task filter sheet gets an accessible description, the modal overlay scrim is softened, panel minimum sizes are enforced so layouts don’t collapse, presence heartbeats start only after the collaborative workspace is ready, the command palette surfaces commands for bare section-name queries, project-progress no longer mis-renders when nothing is attached, and invite emails render the logo at a capped width with the dead asset mechanism removed.