Claude CodeClaude Code 2.1 · macOS, Linux, Windows
1
Curious builder0 XP earned · 300 to level 2
0 daysFinish a lesson to begin
Badge collection0 of 6 unlocked
31 small wins to finish your pathNext lesson

Interrupting and correcting

You are part of the loop. Watching it go the wrong way and waiting politely for it to finish is the most expensive thing you can do.

There are two ways to say something while it is working, and they are not the same.

What you doWhat happens
Press EscIt stops immediately. The running tool call is cancelled and it waits for you.
Type and press EnterThe running tool finishes, then it reads your message and adjusts before choosing the next step.

Esc is for wrong direction: it is reading the wrong files, or about to rewrite something it should not touch. Typing is for a correction that can wait a few seconds, which is most of them, and it keeps the work it has already done.

Messages you type while it is busy are queued and sent next, so you can line up the next instruction without breaking the current one.

Correcting well

The instinct is to explain in detail what it should have done. The better move is usually shorter: say what is wrong, and where you think the problem is.

bash
That's not quite right. The issue is in the session handling, not the login form.

It keeps everything it has already learned about your project, drops the line of investigation it was on, and starts on the file you named.

You do not have to start over, and you should not. The conversation still holds everything it learned about your project, and that context is the expensive part.

Delegate rather than dictate

The documentation's own advice, and it holds up: give it the problem and the direction, not the steps. Naming every file to read and every command to run turns an agent back into a very slow text editor.

bash
The checkout flow is broken for users with expired cards.
The relevant code is in src/payments/. Can you investigate and fix it?

Nothing in that message says which files to read or which commands to run. That is the part you are delegating.

When it keeps missing
A prompt that fails twice is usually a prompt with two jobs in it. Split it. Ask for the investigation, read the answer, then ask for the change.
Try it yourself
  • Interrupt with Esc mid-task and then ask what it was about to do.
  • Send a correction without stopping it, and notice where it picks the correction up.

Slow is fine. Stopping is the only problem.