Getting Unstuck
Everyone gets stuck. Here’s how to get moving again.
The Unstuck Flowchart
Start here when something isn’t working:
┌─────────────────────────────────────┐
│ What's happening? │
└─────────────────────────────────────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
┌────────┐ ┌──────────┐ ┌──────────┐
│ Error │ │ Wrong │ │ Nothing │
│ message│ │ output │ │ happens │
└────────┘ └──────────┘ └──────────┘
│ │ │
▼ ▼ ▼
See A See B See C
A: You Have an Error Message
Error messages are information, not failures. They tell you exactly what’s wrong.
Step 1: Give the error to Claude
Copy the entire error message and paste it:
I got this error:
[paste error here]
What's wrong and how do I fix it?
Claude will explain what the error means and propose a fix.
Step 2: If Claude’s fix doesn’t work
Tell it:
I tried that but got a new error:
[paste new error]
Or:
I tried that but still getting the same error.
Here's what I did: [describe steps]
Step 3: If you’re going in circles
Claude keeps suggesting things that don’t work? Reset:
Let's step back. Here's what I'm trying to do: [goal]
Here's what's happening: [symptom]
Here's what we've tried: [list attempts]
What are we missing?
Step 4: If nothing works
Try starting fresh on that step:
- Ask Claude to undo the last set of changes
- Re-read the step instructions carefully
- Try describing the problem differently: “My code looks like [X], but I expected [Y]. What’s different?”
B: Wrong Output (No Error, But Not Right)
The code runs but doesn’t do what you want.
Step 1: Describe the gap
This is working but not quite right.
Expected: [what you wanted]
Actual: [what you got]
Be specific. “It looks wrong” is hard to fix. “The button is on the left but should be on the right” is easy.
Step 2: If you can’t describe it
Take a screenshot. Then:
Here's what it looks like: [describe or reference screenshot]
I want it to look like: [describe desired state]
Step 3: If Claude misunderstands repeatedly
Your description might be ambiguous. Try:
Let me be more specific. When I say [term], I mean [definition].
Or show an example:
I want it to work like [reference]. Can you see what's different?
Step 4: If it worked before and now doesn’t
Something changed. Ask:
This was working before. What did we change recently that might have broken it?
Or check git (if you’re using it):
Show me what files changed since the last working version.
C: Nothing Happens
Claude responded, but nothing changed.
Step 1: Check if Claude actually made changes
Look at Claude’s response. Did it:
- Say “I’ll create…” or “I’ll modify…” → Changes should exist
- Say “You should…” or “Here’s how…” → It gave instructions, not actions
If it gave instructions instead of acting:
Please make those changes now.
Step 2: Check you’re in the right folder
pwd
ls
Are you where you think you are? Is Claude working in the same folder?
Step 3: Check the file exists
ls -la
Do you see the file Claude said it created/modified?
Step 4: Refresh or rebuild
Changes might exist but not be visible:
- Browser: Refresh the page (Cmd+R)
- App: Rebuild and run
- Editor: Files might need to reload
Rebuild and run the app so I can see the changes.
Common Stuck Patterns
”Claude keeps suggesting the same broken thing”
It’s stuck in a loop. Break out:
That approach isn't working. What's a completely different way to solve this?
Or:
Let's try a simpler version first. What's the minimal way to get [core feature] working?
“I don’t understand what Claude is saying”
Ask for clarification:
Can you explain that in simpler terms? I'm new to this.
Or:
What does [term] mean in this context?
“Claude is making it too complicated”
Redirect:
This feels over-engineered. Can we do something simpler that just works?
Or:
I don't need [advanced feature]. Just [basic need].
“The code works but I have no idea why”
That’s okay for now, but if you want to understand:
Can you walk me through this code and explain what each part does?
“I changed something and now everything is broken”
If you have reference code:
I broke something. Can you compare my [file] to the reference version and see what's wrong?
If you don’t:
Something is broken. Let's start fresh with [component] and rebuild it step by step.
“Permissions / security errors on macOS”
macOS protects certain resources. Common ones:
Screen recording:
The app needs screen recording permission.
Help me enable it in System Settings → Privacy & Security → Screen Recording.
Accessibility:
The app needs accessibility access.
Help me enable it in System Settings → Privacy & Security → Accessibility.
File access:
The app can't access [folder/file].
Help me grant the necessary permissions.
The Nuclear Options
When nothing else works:
Start the step over
Let's start this step from scratch. Undo everything we did for [feature] and begin again.
Compare to reference
Open the reference code for your project. Compare file by file:
My [file] looks like this: [paste your code]
The reference looks like this: [paste reference]
What's different and why might mine be broken?
Start the whole project over
Sometimes it’s faster to restart than to debug:
- Keep your current folder (rename it
project-broken) - Start fresh following the walkthrough
- Move slower, testing after each step
This sounds drastic, but you’ll move faster the second time.
Prevention
Reduce future stuck moments:
- Test after every change — Don’t stack up changes before checking
- Keep prompts small — One thing at a time
- Save working states — When something works, commit or copy the folder
- Read Claude’s output — It often warns you about potential issues
When to Walk Away
Sometimes the best debugging technique is a break.
If you’ve been stuck for more than 30 minutes:
- Write down exactly where you’re stuck
- Step away for at least 15 minutes
- Come back with fresh eyes
The answer often becomes obvious after a break.
Still Stuck?
Search your error message online. Add “macOS” or “SwiftUI” or “JavaScript” to narrow results.
Stack Overflow, GitHub issues, and Apple Developer Forums have answers to nearly every problem. Someone else has hit it before.