Pimp My IDE / incident dispatch
Back to garage
OpenCode Console / ongoing incident / 17 Oct 2026

Rotate first. Explain later.

OpenCode says an ongoing security breach affected 1.4 percent of Console users. The post does not yet explain the path. Containment should not wait for a complete story.

If OpenCode notified your workspace, follow that notice now. Disable the route, rotate the provider key at its issuer, update every dependent, then review usage.
ROUTE
STOP
Contain before diagnosis

Start at the incident floor

OpenCode posted on October 17 that it had a security breach related to what it called a large-scale distillation attack. The company said the incident affected 1.4 percent of OpenCode Console users, that it had emailed those users, and that the incident was still ongoing. It also said it was working with Anthropic, OpenAI, and Google.

That is the public floor. The post does not describe the entry point, identify the data reached, state an exposure window, or publish a completed incident report. Do not fill those gaps with guesses about the attacker or the role of model distillation.

Contain what can spend, read, or act. Attribution can wait.

A saved provider key is a route

OpenCode's Console documentation says a workspace can connect provider accounts such as Anthropic, OpenAI, and AWS Bedrock. Console stores the credential and sends requests through its gateway. Workspace members can use the enabled models without seeing the provider key.

That design is useful for teams. It also means the response boundary is larger than one dashboard entry. A provider key may authorize requests outside the coding client. The same key may sit in deployment secrets, local environment files, automation, or another gateway.

Rotation has two ends. Revoke or replace the old key at the provider. Then update every place that should use the replacement. A new key beside a still-valid old key does not close the old route.

Disable, rotate, move, review, record

  1. Disable or remove the affected provider route in Console. OpenCode's provider guide documents both actions.
  2. Revoke the old credential at the provider that issued it. Create a replacement with the smallest scope the workload needs.
  3. Update each named dependent. Do not rely on memory. Search secret managers, continuous integration settings, deployments, local environment files, and other gateways.
  4. Review provider usage for the possible incident window. Save request IDs, timestamps, models, cost, and source addresses when the provider exposes them.
  5. Record what you did and what remains unknown. Preserve the notice and relevant logs before retention limits erase them.

OpenCode's current Console provider guide says owners and admins can disable or remove a provider. It also says they can rotate a key by opening the credential and entering a new one. Those Console actions do not prove that the old key was revoked at its issuer.

Do not collapse the evidence layers

A Hacker News thread carried a copy of an alleged notification that told recipients third-party provider keys saved in a workspace may have been exposed. That text is useful as a lead for affected users. It is not a substitute for a first-party incident report.

A separate GitHub issue opened the same day reports that an integration credential can be removed through opencode auth logout but lacks a matching delete route and connect-screen control. The report concerns credential removal behavior. It does not establish the cause or scope of the breach.

The public post, product documentation, recipient notice, provider records, and a later incident report have different jobs. Keep them separate. The control below helps prepare a response record. It cannot tell you whether your key was exposed.

Interactive makeover / incident checklist plus handoff

Credential bulkhead

A plain checklist loses order and context. This bulkhead connects five native controls to one visible route and a copyable handoff. The finished state says the response structure is selected. It does not say the incident is contained.

DisableRotateMoveReviewRecord

Set the response route

Select only actions that belong in the response plan. Add real evidence in your incident system.

Selecting a step records intent only. It does not execute a provider action or attach proof.
Response state5 STEPS OPEN
ROUTE OPENNo response steps selected. No evidence attached.

What this component proves. It links five response-plan selections to one route display and one handoff sheet. It does not revoke a key, update a dependent, inspect provider usage, or prove containment.

Sources read / 17 Oct 2026

Evidence locker

First-party incident statement

OpenCode public post

States that an ongoing breach affected 1.4 percent of Console users, notices were sent, and OpenCode was working with three model providers. It does not publish the breach path.

Read the October 17 post
First-party product documentation

Console providers

Documents stored provider credentials, gateway routing, workspace use, disable and remove controls, and the current key-rotation action.

Read the provider guide
First-party product documentation

Console overview

Defines Console as an optional service with workspaces, provider connections, usage tracking, budgets, and team policy.

Read the Console overview
Discussion and copied notice

Hacker News item 50133401

Provides discovery, recipient questions, and a copied notice. It is not used as proof of the breach mechanism.

Read the discussion
Open user report, not incident evidence

Integration credential removal issue

Issue 56500 reports a command-line removal path and missing interface or API delete control. The report was open when this dispatch was published. It does not establish the incident's cause, affected data, or impact.

Read issue 56500