What it is and why it matters
You're halfway through a long job and Claude Code stops with a message like “You've hit your session limit · resets 3:45pm”. You've used up the allowance included in your subscription for this window of time, and no request goes out until the time in the message. Switching models doesn't help: the session limit and the weekly limit apply to every model.
You used to have to stay up until the right time and then type “continue”. Now Claude Code can wait for you: keep the session open and, when the limit resets, it picks the work up where it stopped. In the desktop app it's a checkbox; in the terminal it's already on.
It's for anyone who uses Claude Code with a claude.ai subscription and lets it work for a long time: a refactor, tests to fix, a whole feature. It doesn't give you more usage, it just waits. But it saves you the alarm clock, and in the morning you find the work moved forward instead of stuck halfway.
1. In the desktop app: the checkbox
In the Claude desktop app, in the Code tab, a card with the warning appears when you hit your session limit. Here's what to do:
- On the limit card, tick the Auto-continue when limits reset checkbox.
- Don't close the session: it has to stay open until the restart time.
- Check the time: the card shows Auto-resuming at followed by the time your limit resets.
- At that time the app retries the interrupted turn on its own, and the work goes on without you.
Two things to know. The weekly-limit card doesn't have this checkbox: there you wait and restart it yourself. And the app's checkbox is separate from the terminal setting we'll see in a moment: if you want them off, you turn off both, one by one.
And of course the computer has to stay on and awake: if it goes to sleep, nothing runs. I leave mine plugged in, with the lid open.
2. In the terminal: it's already on
In the terminal you don't have to do anything. If you signed in with a claude.ai subscription, the automatic wait is on by default in interactive sessions, the ones where you type. You only need the latest version of Claude Code.
When you hit the limit, two lines appear at the bottom of the session. The first says when the limit resets, the second when Claude will continue. The time here is an example, you'll see yours:
Usage limit reached · limit resets 3:45pm Continuing automatically at 3:45pm · esc to cancel
Leave the session open. From here it can go two ways:
- At reset time the second line changes to Continuing shortly. Then Usage limit reset · continuing automatically appears in the conversation, and Claude picks the task up where it stopped. It doesn't resend your last message: it tells Claude to carry on.
- If the computer slept for more than about half an hour and the limit reset in the meantime, you'll read Your usage limit has reset and Press enter to continue. Here someone has to press Enter: it won't restart on its own. After a shorter sleep, or one that ended before the reset, it restarts by itself.
Stopping the wait or turning it off
- To cancel it: while the two lines are showing, press Esc at an empty prompt, or Ctrl+C. Claude Code confirms with a line starting with Automatic continue cancelled. For that window it won't restart on its own anymore: either you type, or you turn it back on from the menu.
- The menu is /rate-limit-options. In it you'll find the row starting with Wait here, then continue automatically, to start the wait by hand, and Don't continue automatically, to cancel it.
- To turn it off completely: type /config and switch off Continue automatically at usage limit. That's the row that saves autoContinueAtUsageLimit in your user settings.
3. When it doesn't pick up on its own
This is usually where you wake up and find everything stuck. The cases to know:
- The weekly limit. If the reset is more than 24 hours away, Claude Code doesn't start the wait on its own: it opens the menu, and you can pick it yourself with Wait here, then continue automatically. In the desktop app, on the other hand, the weekly card has no checkbox at all.
- Permission prompts. The resumed work is a turn like any other: if Claude has to ask you for permission, it stops there and waits for you.
- The limit coming back. If Claude restarts and hits the limit again, it re-arms the wait on its own at most twice in a row. Then it stops with Automatic continue stopped after repeated usage-limit hits, and you turn it back on with /rate-limit-options.
- The session changing. If you exit Claude Code, the wait doesn't come back when you reopen the session. It also ends if you send a message yourself, switch accounts with /login, clear or rewind the conversation, open another session with /resume, or move the session elsewhere: to the desktop app, to the background or to the cloud.
- Where it doesn't exist at all. In background sessions and in commands run with claude -p there's no wait. Nor with an API key, a cloud provider or usage-based billing: there you pay per request, and there's no reset to wait for.
4. Keep an eye on your usage
Picking up on its own doesn't mean more usage. The limit is the same, Claude just waits. So before you let it work alone, it pays to know where you stand:
- /usage in the terminal: it shows your plan limits and when they reset. On Pro, Max, Team and Enterprise plans it also shows what's weighing most on your limits.
- The usage ring in the desktop app: it's next to the model picker. Click it to see how much of your plan you've used. It's the same count for every place where you use Claude Code.
- The warning before the limit. Claude Code can warn you with a message like You've used 85% of your session limit · resets 3:45pm. If you see it in the evening, you already know tonight you'll need the wait.
- The status line. If you want the count always in sight in the terminal, you can ask Claude to add the rate_limits fields to a custom status line.
Remember that every request counts against the session limit and the weekly limit at the same time. A very heavy job, done all at once, can use up the weekly limit before the session one resets. And the weekly one doesn't restart on its own. To use less, I wrote the TOKEN guide (strikt.fit/token).
5. Before you go to bed
The wait takes care of the limit. The rest you set up yourself, before you call it a day. I do three things.
Work in small steps
If the limit hits halfway through a big change, in the morning you don't know what's finished and what isn't. So I ask for small commits. A commit is a save point of the project in git: if something goes wrong, you go back to the save before.
Work in small steps. After each finished piece, run the tests and, if they pass, make a commit with a message that says what you did. Don't run git push.
A progress file
Claude picks up from the conversation, but a file is safer: if the session closes or the wait stops, the file stays, and a new session can read it too.
Keep the file PROGRESS.md up to date: what you've finished, what you're doing now, what's left and the problems you've found. Update it after every commit.
If you find it stopped in the morning, open a new session and type:
Read PROGRESS.md and git log, tell me where you were and restart from the first unfinished step.
Permissions before you leave
A permission prompt stops everything until you wake up, even if the limit reset hours ago. So I check the permission mode: in the terminal you switch it with Shift+Tab, in the desktop app with the mode selector. At night I use auto if I have it, otherwise acceptEdits, which accepts file edits on its own.
With acceptEdits almost every command still asks for permission. So during the day I have Claude prepare the rules it needs, and then I check them with /permissions:
Work out which commands you need to finish this job, like the tests and the build, and add the allow rules to this project's .claude/settings.json. Also add deny rules for git push and for rm commands. Show me the file before you save it.
How to pick the mode, write rules and hooks and keep the Mac awake all night, I explain step by step in the NOTTE guide (strikt.fit/notte).
Common mistakes
- Closing the session or exiting Claude Code. The wait lives in the open session: if you exit, it doesn't come back even when you reopen it.
- Counting on it with the weekly limit. If the reset is more than 24 hours away it doesn't start on its own, and in the desktop app there's no checkbox: check with /usage before you go to bed.
- Leaving it in Manual mode. At the first permission prompt it stops, even if the limit reset hours ago.
- Letting the computer go to sleep. If it sleeps for more than about half an hour, in the terminal someone has to press Enter.
- Sending it a message while it waits. Your message takes the place of the wait: if you just want to check, look and don't type.
- Thinking it's a higher limit. It's the same limit: Claude waits and restarts, it doesn't work more.
Checklist
- In the desktop app I ticked Auto-continue when limits reset
- In the terminal, in /config, Continue automatically at usage limit is on
- With /usage I know when the limit resets, and it isn't the weekly one
- Permission mode chosen and allow rules ready
- Claude makes small commits and updates the progress file
- Session open, computer on, plugged in and awake
Frequently asked questions
Does the automatic wait make me use more?
No. It doesn't buy usage and doesn't raise the limit: it waits for the one you already have to reset, then carries on with the work you asked for. It uses as much as it would have if you had typed “continue” yourself at the right time.
Does it start over or carry on from where it stopped?
From where it stopped. In the terminal, Claude Code doesn't resend your last message: it tells Claude to resume the interrupted task, with the whole conversation. In the desktop app the interrupted turn is retried. Keep the progress file anyway: it's your safety net if something goes wrong.
Does it work if I use Claude Code with an API key?
No. With an API key, a cloud provider or usage-based billing you pay per request, so there's no limit that resets. You need a claude.ai subscription, signed in to Claude Code.