Skip to main content
Cortex Code says what is wrong in plain words rather than in codes, so most of the time the message on screen is the diagnosis. This page maps those messages to their real cause and points at the page that owns the fix. It is grouped the way the product is: access, GitHub, the runtime, turns that will not edit anything, session control, context, changes, automations, Cortex Security, and the error codes underneath all of it. Three questions answer a surprising number of problems before you read any further. Are you signed in, since a guest sees a reduced surface and cannot start work. Are you attached to the session, since a detached viewer can watch but cannot send or decide. And which mode did you send the turn in, since Ask and Plan are built without the tools that change files. For the terminal, see CLI troubleshooting; for the rest of the products, Troubleshooting.

Access

GitHub

The full set of states and messages, and how to revoke the connection, is on Connect GitHub.

Runtime, environments and capacity

A turn that will not change anything

Work through these in order. The first two explain almost every case.
  1. The mode. Ask and Plan are built without the tools that write files, edit files or run commands, so a turn in either one cannot change anything however it is worded. The Changes pane says so outright: Ask and Plan do not change files, so there is nothing to review here. Switch to Agent and send again. The tool set is chosen when a turn is built, so a mode change applies to the next turn and never to the one already running. See Ask, Plan, Agent.
  2. The write gate. Writes do not land by themselves. They wait in Changes as pending files, and the tree is not written until a person presses Approve or Approve all. If your files are sitting at Pending, that is the answer. See Changes and diffs.
  3. A denial is not a crash. Deny refuses one call. The turn keeps going and the model is told it was denied, so the transcript continuing after a denial is normal.
  4. A tool you connected elsewhere. A Code session is given no tool servers, no connectors and no plugins of its own, and it will tell you so: Off · this session has no MCP access. and Off · Chat and Bot access does not carry into Code. Never plan a session around a tool you connected for the workspace. See Code integrations.
  5. A list of safe commands. There is no command allowlist and no per-directory allowlist in Code. The shell is allowed or withheld as a whole, and each command is put to you when it is asked. See Permissions and approvals.
There is no undo, no checkpoint and no revert of a turn’s edits. Nothing in Cortex rolls an approved change back. The moment to refuse is while the write is still pending, with Reject, and after that your repository’s own history on the branch is what you have. Do not plan a session around being able to unwind it afterwards.

Session control, follow-ups and decisions

Context and compaction

Changes and diffs

An automation that never ran

Nothing in Code runs unattended today, and the page says so itself: Saved instructions only. Schedules and events do not execute yet. Prepare a session, then send an interactive turn to start work. A saved schedule or event trigger is stored, and it is not executed. Enabling an automation only makes manual preparation available. If you expected a run, use the row’s own control to prepare a session, then send a turn to it. See Automations.

Cortex Security

Usage that looks empty

A session can finish without a matching row appearing on Usage. The page shows what the account ledger recorded, and a Code turn is not guaranteed to write to it, so token columns can be empty for Code rows. Treat Usage as a record of recorded cost rather than as a count of your sessions.

Error codes

When a failure has no message of its own, it surfaces as a problem with a stable code. These are the ones a Code user can actually meet.
Where a surface has wording of its own you see that instead of a code, and the wording is the better guide. The GitHub connection screens are the clearest example: they translate an upstream failure into GitHub did not complete the connection rather than showing you a raw code.
The full set, with a page per code, is in the Problem catalog.