← Back to Updates

Consumer fix details

Easy fixes

A detailed, customer-readable record of 269 fixes across the two latest release ranges.

269 fixes24 August 2026

Current version

The current version is v0.3.171.

Release

Fixes in v0.3.171

166 fixes across 10 categories.

v0.3.17124 August 2026

Chat and interface

25 fixes
  • v0.3.162: The Admin chat panel sits in the correct place instead of sliding over the page.
  • v0.3.162: The Background Services tab is no longer hidden beyond the edge of the header.
  • v0.3.163: A chat opened from a notification is refused clearly for an unknown agent instead of failing silently.
  • v0.3.163: An opening message is used once rather than being queued again on every reload.
  • v0.3.163: A pending message settles correctly when its own send creates the conversation.
  • v0.3.165: A chat opened before its first reply is readable now recovers instead of appearing broken.
  • v0.3.165: A new chat stays open while its transcript is still being written.
  • v0.3.165: A queued model change can be taken back before it applies.
  • v0.3.165: Routing notices in chat carry a proper title instead of showing a fault code in its place.
  • v0.3.165: The delete progress dialog stays still instead of shifting while it works.
  • v0.3.165: Mark-all-read controls in the sidebar work reliably.
  • v0.3.166: A new chat's record is written when the reply starts rather than when it finishes, so the conversation is never briefly unreadable.
  • v0.3.167: The context gauge measures usage against the window of the model that actually produced the reply.
  • v0.3.167: Each usage meter counts against its own model rather than dividing one model's figure by another's limit.
  • v0.3.167: Every timer and meter now updates on one shared clock, so figures on a page agree with each other.
  • v0.3.169: A reply cut short by a restart keeps the part it had already written, instead of arriving empty or blaming your settings.
  • v0.3.169: The conversation records that a restart interrupted a reply, and how much was delivered.
  • v0.3.169: A second restart while one is already running joins the one in progress rather than leaving the instance stuck.
  • v0.3.169: A chat whose very first message failed can now be deleted.
  • v0.3.169: A refused delete or rewind explains why instead of appearing to do nothing.
  • v0.3.169: A voice note can carry an attachment in the same message.
  • v0.3.169: A message that fails to send while offline returns its text and files to the composer instead of being lost.
  • v0.3.170: A missing file is described as a missing file rather than as a technical error code.
  • v0.3.170: One broken piece of the interface no longer forces every page to reload.
  • v0.3.170: A sidebar chat says which project it belongs to instead of silently assuming one.

Sign-in, accounts and providers

24 fixes
  • v0.3.163: Your account name is kept when you reconnect a provider.
  • v0.3.163: A newly connected provider no longer reports itself as retrying.
  • v0.3.163: Stored sign-in details survive interruption more reliably.
  • v0.3.163: Sign-in logs no longer discard the evidence needed to explain a failure.
  • v0.3.163: Easy tells you as soon as a provider sign-in stops working.
  • v0.3.163: Dead provider sign-ins are shown on the dashboard rather than only failing in use.
  • v0.3.164: An expired sign-in token is recognised correctly instead of being misread as a different fault.
  • v0.3.164: A provider that reports a dead sign-in is treated as needing reconnection rather than retried indefinitely.
  • v0.3.164: A brief refresh delay on one account no longer blocks the other accounts on that provider.
  • v0.3.165: Easy tries one more refresh before concluding that a sign-in has failed.
  • v0.3.165: Signed-out and Reconnect are only shown when there is real evidence for them.
  • v0.3.165: One account's cooldown no longer pauses every account on that provider.
  • v0.3.165: Provider health stops blanking out while it rechecks.
  • v0.3.165: Reconnecting from an account row carries that intent through the whole flow.
  • v0.3.165: A failed account states its condition once, in plain readable text.
  • v0.3.166: Every usable account is tried before Easy moves to the next model.
  • v0.3.166: A sign-in that cannot be refreshed stays disabled until you reconnect it, rather than being retried.
  • v0.3.166: An account with a name shows the name instead of a partly hidden email address.
  • v0.3.167: An account that is permanently signed out states that as the reason it was not used.
  • v0.3.167: A refresh signal is only sent where something is listening for it.
  • v0.3.167: A cooldown countdown reads in days and hours rather than an abrupt short form.
  • v0.3.167: A countdown shows precise time while an elapsed time stays approximate.
  • v0.3.168: A countdown rounds up, so a nine-minute wait says nine minutes.
  • v0.3.168: Provider cooldowns refresh without briefly appearing empty.

Long conversations, compaction and memory

1 fixes
  • v0.3.162: A failed full search sweep automatically retries after a safe delay.

Jobs, coordinators and scheduled work

11 fixes
  • v0.3.162: A task can complete successfully after deliberately deleting its own temporary output.
  • v0.3.162: Automatic job recovery pauses correctly while the main turn queue is under pressure.
  • v0.3.162: Scheduled turns are counted correctly and release their capacity after an in-process restart.
  • v0.3.163: Cancelling a job reports that cancellation has started rather than claiming it has already finished.
  • v0.3.165: A task claim is released when its worker fails terminally, so the work is not left stranded.
  • v0.3.165: New workers wait for provider capacity before starting rather than failing immediately.
  • v0.3.169: A scheduled task that delivers to a web chat no longer fails silently with no message and no error.
  • v0.3.169: A scheduled task with no conversation attached is refused when it is created, rather than delivering somewhere unrelated.
  • v0.3.169: A job whose coordinator is stopped by a restart recovers on its own instead of appearing to still be running.
  • v0.3.170: A cancellation that was explicitly requested is no longer reported as a failure.
  • v0.3.170: A retired session cannot reclaim work it no longer owns.

Models, images, PDFs and voice

23 fixes
  • v0.3.161: Finalised Kimi tool arguments are no longer cleared by the adapter.
  • v0.3.162: Easy no longer sends a disabled thinking setting to Kimi models that always use thinking.
  • v0.3.162: PDF processing sends subscription credentials using the correct OAuth method.
  • v0.3.162: Media tools create the storage locations they advertise and only name locations that exist.
  • v0.3.162: Streaming markers no longer become mixed into the displayed model name.
  • v0.3.165: A temporary fallback is no longer mistaken for the model you chose yourself.
  • v0.3.165: A requested model is only set aside when there is genuine matching evidence for doing so.
  • v0.3.165: Easy explains why a requested model did not serve a reply.
  • v0.3.165: Choosing to ignore a model reads as your own decision rather than as a failure.
  • v0.3.165: A switched-off provider is refused consistently everywhere a model could be selected.
  • v0.3.165: Your pinned model is kept when a provider is switched off.
  • v0.3.165: The routing chain warning counts exactly what the rows show.
  • v0.3.165: The model list keeps its scrollbar clear of the ignore controls.
  • v0.3.167: A routing notice explains what was tried and why, instead of showing an internal code.
  • v0.3.167: Context overflow is described in ordinary words, with the raw detail kept aside.
  • v0.3.167: A fallback notice names what went wrong and the chain it walked.
  • v0.3.167: A displaced reply names where it landed as well as what went wrong.
  • v0.3.167: Error notices carry a suggested remedy.
  • v0.3.169: The developer API reports the model that actually answered, rather than the one that was requested.
  • v0.3.169: Asking for a model that cannot be served returns a clear not-found response instead of a server error.
  • v0.3.169: A Claude Max subscription is recognised as a subscription rather than treated as an API key.
  • v0.3.169: A failed attempt's partial output no longer sits beside the retry's real answer.
  • v0.3.170: Generated images are saved into the project you are working in.

Browser work

7 fixes
  • v0.3.161: A page that blocks every browser connection can be detected and recovered.
  • v0.3.161: When a managed browser dies, Easy explains why and why a replacement was launched.
  • v0.3.162: Each chat’s browser tabs remain isolated from unrelated chats.
  • v0.3.162: Sub-agents can work inside the browser tabs owned by their parent chat.
  • v0.3.162: Easy no longer closes a browser page that the current chat only borrowed.
  • v0.3.162: Intentional browser-tab takeover between chats works without confusing ownership.
  • v0.3.163: A claimed tab names the chat that lost it rather than one of its helpers.

Email, messaging and connected services

14 fixes
  • v0.3.161: A cloud-sync process that has already been reaped is reported as unknown rather than falsely failed.
  • v0.3.162: Dropbox Business can browse team folders as well as the individual member folder.
  • v0.3.162: WhatsApp media failures preserve the real decoding error, improving recovery and diagnosis.
  • v0.3.163: An explicit Telegram pin is respected for a direct message.
  • v0.3.163: Direct-message senders are kept properly separate from one another.
  • v0.3.163: A chat keeps a durable link to the channel it replies through, in both directions.
  • v0.3.163: Cloud sync history is kept to a sensible size without losing the baselines it needs.
  • v0.3.165: Email accepts vault-backed account credentials and degrades one account at a time.
  • v0.3.165: Email states a clear reason when an account is not configured.
  • v0.3.169: Two-way folder sync propagates deletions again, instead of quietly growing into a copy of both sides.
  • v0.3.169: A safety guard that stops a sync when most files have vanished from one side is switched on, protecting a folder from being emptied by a stale baseline.
  • v0.3.169: A folder that has drifted into a growing superset now says so rather than appearing healthy.
  • v0.3.169: A pair that has already been set up is recognised as such, so every pass no longer runs as a first pass.
  • v0.3.170: An instance-wide connection can be used from any project.

Projects, workspaces and search

17 fixes
  • v0.3.163: Workspace search genuinely matches on file name as well as content.
  • v0.3.163: An agent's chats stay its own, whichever project they were filed in.
  • v0.3.163: Project and agent are independent filters, so choosing one no longer disturbs the other.
  • v0.3.163: Chat search searches the project rather than a guessed agent.
  • v0.3.163: Changing search scope no longer leaves the previous tab's results on screen.
  • v0.3.163: The search loading placeholder no longer flashes on a fast response.
  • v0.3.163: Search scope tabs stay centred, with the agent filter kept to the right.
  • v0.3.163: A dropped connection no longer collapses the all-projects view.
  • v0.3.163: The all-projects sidebar no longer re-renders repeatedly.
  • v0.3.163: Incoming channel messages are filed under the correct project.
  • v0.3.163: Easy warns when a channel route would file its chats somewhere unhelpful.
  • v0.3.166: The hourly search update stops re-reading every conversation's reports.
  • v0.3.167: Removing an out-of-date search entry is reported rather than done silently.
  • v0.3.170: Files are written to the project you are working in, not the agent's own workspace.
  • v0.3.170: Commands run in the project's workspace when you are working inside a project.
  • v0.3.170: A write that lands outside the current project says so, and names where it went.
  • v0.3.170: Search names the projects a shared knowledge source is connected to.

Admin, configuration and setup

28 fixes
  • v0.3.163: Settings save what you actually chose rather than the underlying defaults.
  • v0.3.163: A brand-new instance can write its configuration for the first time.
  • v0.3.163: Agent changes can be saved on a fresh instance.
  • v0.3.163: Configuration writes are serialised, so two simultaneous changes cannot overwrite each other.
  • v0.3.163: The sign-in token is no longer lost during start-up.
  • v0.3.163: A saved credential reference is never replaced by its hidden display form.
  • v0.3.163: A successful save no longer reports itself as partially written.
  • v0.3.163: Editing a channel stays an edit rather than triggering a restart.
  • v0.3.163: Configuration backups are kept by age rather than by number of writes.
  • v0.3.163: Easy tells you when a configured credential cannot start.
  • v0.3.163: A stranded services record is recovered automatically.
  • v0.3.163: Creating a sandboxed agent works again.
  • v0.3.163: A sandboxed agent's limits cannot be widened by configuration.
  • v0.3.163: A sandboxed agent is no longer offered context it cannot reach.
  • v0.3.163: A sandboxed agent's available tools are now an explicit list rather than inherited automatically, so a tool added for general convenience no longer reaches customer-facing agents.
  • v0.3.163: A sandboxed agent can use every tool it is permitted, rather than only those its stored settings happened to name.
  • v0.3.163: A tool that resolves access from the caller is no longer available to sandboxed agents, so operator automations cannot be exposed publicly.
  • v0.3.163: The sandboxed marker on an agent stops disappearing between health updates.
  • v0.3.163: Health checks no longer report a working sandboxed agent as broken when run without elevated permissions.
  • v0.3.163: Deleting an agent clears its links through one consistent rule.
  • v0.3.165: Queued commands show live progress and can be withdrawn.
  • v0.3.169: Provider switches record who changed them and when.
  • v0.3.169: An out-of-date removal record can no longer delete a credential you have just reconnected.
  • v0.3.169: A tool that is excluded by design says so, rather than looking like a permission you could grant.
  • v0.3.170: Setup steps follow one consistent route rather than several.
  • v0.3.170: A refused vault request explains the reason instead of returning a single word.
  • v0.3.170: Access approvals appear in the chat that asked for them.
  • v0.3.170: An approval names the project it applies to.

Resources, stability and security

16 fixes
  • v0.3.162: Disk-pressure queue holds are applied where disk state is actually decided.
  • v0.3.162: Internal scheduled callbacks retain the operator authority they were given.
  • v0.3.162: Vault references are rejected from unsafe environment-variable injection paths.
  • v0.3.162: API keys that cannot incur spend explain that clearly instead of showing an empty figure.
  • v0.3.163: Easy recovers on its own if its main loop becomes blocked.
  • v0.3.163: A command stopped for using too much memory now explains how to recover.
  • v0.3.163: Log searches no longer loop over the same section indefinitely.
  • v0.3.165: The sign-in page keeps checking calmly while an instance wakes, and explains a longer wait.
  • v0.3.167: Background work no longer disturbs the chat list or its ordering.
  • v0.3.167: Internal routing detail is no longer broadcast to the operator interface.
  • v0.3.167: The agent roster loads without its full configuration detail until that is asked for.
  • v0.3.166: A refused agent-to-agent message explains how to send it correctly.
  • v0.3.169: A restart is attributed accurately, using the system's own record rather than guesswork.
  • v0.3.169: Indexing no longer rebuilds an entire workspace to notice one changed file.
  • v0.3.169: A settings store that cannot be read says so instead of quietly serving defaults.
  • v0.3.170: A queued message frees its place as soon as it starts, rather than at the end of the reply.

Release

Fixes in v0.3.160

103 fixes across 7 categories.

v0.3.16017 August 2026

Chat and interface

18 fixes
  • v0.3.147: New chats no longer remain frozen briefly after being created.
  • v0.3.147: Returning to a recent chat includes messages that arrived while you were elsewhere.
  • v0.3.147: Malformed older conversation records are isolated instead of breaking the complete chat history.
  • v0.3.147: Older child conversations are found correctly when checking agent and worker relationships.
  • v0.3.147: Job tabs no longer jump during navigation and now have stable routes.
  • v0.3.147: The side panel opens the current project’s default workspace instead of an unrelated workspace.
  • v0.3.147: System version information remains visible and reports the actual gateway version.
  • v0.3.147: Invalid form definitions now produce a correctable message instead of failing unclearly.
  • v0.3.148: Aborted responses no longer leave orphaned tool results that can damage the conversation.
  • v0.3.148: Reserved Agents pages no longer scope the sidebar to a non-existent agent.
  • v0.3.149: Conversation and agent-history disagreements are reported instead of silently swallowed.
  • v0.3.150: A renamed chat immediately shows its new title inside folders.
  • v0.3.150: The Admin mark keeps the correct spacing when its menu scrolls.
  • v0.3.152: Chats open inside the project they actually belong to.
  • v0.3.152: Chats rejected by Anthropic because of a malformed error result can recover instead of remaining unusable.
  • v0.3.152: Search excerpts stop at whole words rather than cutting words in half.
  • v0.3.152: Generated image replies show the created filename clearly.
  • v0.3.152: Memory counts no longer bunch together on narrow screens.

Long conversations, compaction and memory

17 fixes
  • v0.3.148: Compaction retries temporary provider failures instead of abandoning the conversation.
  • v0.3.148: OpenAI and Codex context-limit messages are recognised correctly.
  • v0.3.148: Oversized conversation sections can be divided even when the first error is unclear.
  • v0.3.148: Very large thinking blocks are capped before they inflate the compaction request.
  • v0.3.148: Compaction keeps its start and end boundaries within safe limits.
  • v0.3.148: Citation ranges include the final section of the conversation.
  • v0.3.148: Divided sections omit uncertain citations rather than inventing them.
  • v0.3.149: Compaction progress remains visible if the page is opened or refreshed while compaction is running.
  • v0.3.149: Different parts of the platform now share one bounded view of active compaction work.
  • v0.3.149: Forced text splitting no longer tears code-fence markers.
  • v0.3.152: Modernising an older Memory Space preserves its Fold index correctly.
  • v0.3.152: Memory migrations now state accurately when reindexing is required.
  • v0.3.152: Cross-project memory refusals name both involved projects, making the issue understandable.
  • v0.3.154: Dead workspace search bindings are repaired automatically.
  • v0.3.154: Older skipped-file markers are healed without stalling partway through the backlog.
  • v0.3.158: Workspace file contents are included properly in search.
  • v0.3.158: Search reindexing remains visible from its start through any failure.

Jobs, coordinators and scheduled work

15 fixes
  • v0.3.151: A coordinator with an approved task dispatches it instead of returning to planning.
  • v0.3.151: A coordinator whose run temporarily has no tasks can wake and continue correctly.
  • v0.3.151: Scheduled reports are delivered even when the underlying run has nothing else to say.
  • v0.3.151: Quiet-run notices include the schedule name, so the source is clear.
  • v0.3.152: Cancelling a scheduled task stops the run that schedule started.
  • v0.3.152: Cancelling a job stops its coordinator as well as its workers.
  • v0.3.152: Cancelled jobs can resume with their existing workers.
  • v0.3.152: Finished runs remain valid places for a job to resume.
  • v0.3.152: Resuming a job no longer creates a coordinator inside a run that does not exist.
  • v0.3.152: The coordinator resumes immediately and steers existing workers instead of unnecessarily replacing them.
  • v0.3.152: Cancellation reports that a stop was requested rather than falsely claiming everything was killed instantly.
  • v0.3.152: Provider-capacity waits are visible in job status.
  • v0.3.152: Provider outages wait safely instead of being hammered with repeated requests.
  • v0.3.152: Job completion checks the approved plan rather than relying only on the task board.
  • v0.3.152: A delegated helper is stood down before another agent takes its work back, avoiding duplicate output.

Models, images, PDFs and voice

10 fixes
  • v0.3.147: Disconnected providers are removed from active model-routing chains.
  • v0.3.147: A temporarily quarantined model is moved down the route rather than disappearing completely.
  • v0.3.147: Live calls no longer expose the wrong text-to-speech tool.
  • v0.3.148: An unsubscribed provider is no longer incorrectly described as absent from the catalogue.
  • v0.3.148: Image edits no longer fail because of an inferred resolution the user never selected.
  • v0.3.148: Camera captures are consistently treated as images.
  • v0.3.149: Corrupt images produce an accurate error instead of being blamed on file size.
  • v0.3.151: Model fallback checks whether the replacement supports the required input type.
  • v0.3.151: A model fallback no longer silently removes the agent’s tools.
  • v0.3.152-v0.3.153: Model-switch dividers identify when an agent changed the model itself.

Email, messaging and connected services

18 fixes
  • v0.3.147: Failed channel-recovery loops terminate instead of retrying forever.
  • v0.3.147: Discord has stronger protection against a channel-library crash.
  • v0.3.149: A disabled Telegram account keeps its update position, preventing old messages being replayed later.
  • v0.3.149: Google Drive connections can reach the upload path correctly.
  • v0.3.149: Cloud sync explains when there was nothing to upload.
  • v0.3.149: A zero cloud-storage measurement is shown as unmeasured rather than empty.
  • v0.3.149: Cloud sync explains where files are missing from.
  • v0.3.149: Writes that would be hidden by a synced cloud folder are refused rather than silently lost.
  • v0.3.149: Each workspace is watched once rather than being registered repeatedly.
  • v0.3.149: Public webhook paths now match the paths actually served by the gateway.
  • v0.3.149: Agents can tell when inbound webhooks are disabled or unavailable.
  • v0.3.151: Matrix resolves its password correctly when a token is used for authentication.
  • v0.3.151: Email-triggered conversations attach to the correspondent rather than the operator’s mailbox.
  • v0.3.151: Email activity reports the correspondent as the conversation source.
  • v0.3.151: A saved Vault secret remains stored until the user explicitly removes it.
  • v0.3.155: The email channel resolves its platform dependencies correctly after installation changes.
  • v0.3.160: Cloud sync excludes Git metadata instead of copying repository internals.
  • v0.3.160: Webhook names are decoded safely and invalid targets are refused clearly.

Projects, workspaces and search

11 fixes
  • v0.3.151: Project search ranks results inside the authorised project set.
  • v0.3.151: Projects reject membership entries for entities that do not exist.
  • v0.3.152: New workspaces no longer bind themselves to unreachable projects.
  • v0.3.152: Workspace refusals explain which check failed instead of returning one generic error.
  • v0.3.157: Moving resources out of the Default Project preserves their existing access.
  • v0.3.157: Project membership validation correctly includes scheduled tasks and flows.
  • v0.3.157: The orphan-repair sweep can claim all resource types it needs to fix.
  • v0.3.157: Project membership rejects agent identifiers that do not name a real agent.
  • v0.3.158: Bulk pause and resume only act on Fold sources that can actually change state.
  • v0.3.158: Unmanaged-resource reports remain small enough to read and can be searched by name or identifier.
  • v0.3.160: The mobile assistance chat now mounts and appears correctly on phones.

Resources, stability and security

14 fixes
  • v0.3.147: Per-run memory is released correctly, addressing long-uptime out-of-memory restarts.
  • v0.3.147: Listing conversations no longer starves other gateway work.
  • v0.3.147: Routine health checks stop reading from disk after warm-up.
  • v0.3.149: Avatar paths can no longer escape through a symbolic link.
  • v0.3.149: Browser security policy and lock-failure containment were tightened.
  • v0.3.152: The Resources page distinguishes unreadable folders from folders that have not been scanned.
  • v0.3.152: Empty resource rows are removed instead of showing misleading entries.
  • v0.3.152: Disk usage measures the whole disk accurately.
  • v0.3.152: Installed tools are no longer mistaken for disposable cache during storage cleanup.
  • v0.3.160: Old temporary package installations are dated correctly before cleanup.
  • v0.3.160: Package cleanup fails safely if it cannot confirm what should be removed.
  • v0.3.160: The storage bar has enough room and explains what the remaining space contains.
  • v0.3.160: Gateway close and boot operations no longer wedge a serving instance.
  • v0.3.160-v0.3.162: Failed restarts exit cleanly instead of leaving a broken process occupying the port.