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.- 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.
- 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.
- 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.
- 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.
- 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.
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.
Related
- Permissions and approvals for the two gates and what each answer grants.
- Changes and diffs for the write gate, per file and per batch.
- Cloud runtimes for how a guest is prepared, hibernated and woken.
- Connect GitHub for every state of the connection.
- CLI troubleshooting for the same work in a terminal.
- Troubleshooting for problems across all the products.