Back to blog
March 16, 2026Shadman Rahman

I Let Claude Code Run Overnight. Here's What Happened.

Autonomous loops let Claude Code work while you sleep. The results were better than I expected.

At 11pm on a Tuesday, I gave Claude Code a task: "Refactor the authentication module. Split the monolithic auth.ts into separate files by concern. Write tests for each new module. Update all imports."

Then I went to sleep.

The Setup

Autonomous loops let Claude Code work without human approval for each step. You set guardrails — what it can and can't do — and let it run.

My guardrails:

  • Can read and write files in the src/auth/ directory
  • Can run tests
  • Cannot modify files outside the auth module
  • Cannot run deployment commands
  • Cannot delete files without creating replacements first

What I Found at 7am

The monolithic 800-line auth.ts was split into 6 focused modules. Each had a clear responsibility. 47 new tests, all passing. All imports updated. Git log showed 12 clean commits with descriptive messages.

Was it perfect? No. I'd have named two files differently. One test was redundant. Minor stuff.

The Risk/Reward

Autonomous mode is powerful but requires trust. Start small — a well-scoped refactoring task with clear boundaries. Don't let it loose on your entire codebase on day one.

Set up a stop mechanism (I use a STOP file that halts execution). Limit the scope. Review everything in the morning.

The math is hard to argue with: 8 hours of compute time while I slept. That refactoring would have taken me two full days of focused work.

Read the autonomous loops guide before trying this. Guardrails are not optional.

Stay in the loop

New guides, templates, and tips. No spam. Unsubscribe anytime.