resources

Getting Unstuck

System Text-to-Speech Ready
Slide: 0:00 / 0:00
Slide 1 of 0Interactive Deck

Full Lesson Reference

Everyone gets stuck. Here's how to get moving again.

The Unstuck Flowchart

Start here when something isn't working:

terminal
┌─────────────────────────────────────┐
│           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:

terminal
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:

terminal
I tried that but got a new error:

[paste new error]

Or:

terminal
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:

terminal
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:

  1. Ask Claude to undo the last set of changes
  2. Re-read the step instructions carefully
  3. 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

terminal
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:

terminal
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

terminal
pwd
ls

Are you where you think you are? Is Claude working in the same folder?

Step 3: Check the file exists

terminal
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:

terminal
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:

terminal
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:

terminal
The app needs screen recording permission.
Help me enable it in System Settings → Privacy & Security → Screen Recording.

Accessibility:

terminal
The app needs accessibility access.
Help me enable it in System Settings → Privacy & Security → Accessibility.

File access:

terminal
The app can't access [folder/file].
Help me grant the necessary permissions.

The Nuclear Options

When nothing else works:

Start the step over

terminal
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:

terminal
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:

  1. Keep your current folder (rename it project-broken)
  2. Start fresh following the walkthrough
  3. Move slower, testing after each step

This sounds drastic, but you'll move faster the second time.

Prevention

Reduce future stuck moments:

  1. Test after every change — Don't stack up changes before checking
  2. Keep prompts small — One thing at a time
  3. Save working states — When something works, commit or copy the folder
  4. 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:

  1. Write down exactly where you're stuck
  2. Step away for at least 15 minutes
  3. 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.

Exercises

  1. Identify which of the three branches (error message, wrong output, nothing happens) describes the last problem you hit, then copy the matching Step 1 prompt and fill in your real details.
  2. Set up one prevention habit right now — for example, commit or copy your project folder the moment something works — and use it through your next build session.
  3. Practice the "going in circles" reset prompt by writing out your goal, symptom, and attempts for a recent bug, even one you already solved, to build the habit of structured debugging.