Lab 3.1: Deep Thought
Module: 3.1 - Extended Thinking | ← SlidesDuration: 30 minutes Sample Project: hackathon-starter
Learning Objectives
By the end of this lab, you will be able to:
- Understand that extended thinking is enabled by default
- Control thinking depth with
Option+T/Alt+Tand effort levels - Formulate questions that benefit from deep analysis
- Compare thinking-on vs thinking-off responses
- Apply insights to technical decision-making
What is Extended Thinking?
Extended Thinking gives Claude more time to reason through complex problems. Use it for:
- Architectural decisions
- Migration strategies
- Complex debugging
- Trade-off analysis
Controlling Thinking Depth
Extended thinking is enabled by default. You control the depth:
| Control | How | Effect |
|---|---|---|
Option+T / Alt+T | Keyboard shortcut | Toggle thinking on/off for the session |
Effort level in /model | Slash command | low / medium / high — controls thinking depth |
CLAUDE_CODE_EFFORT_LEVEL | Environment variable | Set effort for scripts/CI |
Ctrl+O | Keyboard shortcut | Toggle verbose mode to see thinking |
Note: Keywords like "think", "ultrathink" are deprecated (Jan 2026). They are treated as regular prompt text and do not control thinking.
Token Usage
Higher effort levels consume more tokens. Lower the effort level in /model or toggle thinking off with Option+T / Alt+T for simple tasks.
Setup
# Navigate to the sample project
cd sample-projects/hackathon-starter
# Start Claude Code
claudeTasks
Task 1: Formulate a Complex Question (5 min)
Think of a question that requires deep analysis.
Good questions for extended thinking:
| Category | Example |
|---|---|
| Architecture | "Should we migrate from MongoDB to PostgreSQL?" |
| Migration | "How should we upgrade from Express 4 to Express 5?" |
| Design | "What's the best authentication strategy for a multi-tenant app?" |
| Performance | "Why is our API slow and how can we optimize it?" |
| Security | "What security vulnerabilities might exist in our auth flow?" |
Pick a question relevant to the hackathon-starter project.
Success criteria:
- [ ] Question is complex (not a simple lookup)
- [ ] Question has trade-offs to consider
- [ ] Question is relevant to the codebase
Task 2: Ask with Extended Thinking (10 min)
Ensure thinking is enabled (it's on by default), then ask your complex question.
Step 1: Verify thinking is on
Press Option+T (macOS) / Alt+T (Windows/Linux) if you need to toggle thinking on. Enable verbose mode with Ctrl+O so you can watch Claude reason.
Step 2: Ask your question
Should this application migrate from Passport.js to a custom JWT-based authentication system?
Consider:
- Security implications
- Development effort
- Maintainability
- Scalability for future featuresPrompt tips — add context for better results:
[Your complex question]
Consider:
- Trade-offs between options
- Risks and mitigations
- Implementation complexity
- Long-term maintainabilityObserve:
- Can you see Claude's thinking in verbose mode (gray italic text)?
- How long does Claude take to respond?
- How detailed is the analysis?
- Are trade-offs presented?
Success criteria:
- [ ] Thinking is enabled (default state)
- [ ] Verbose mode on (
Ctrl+O) to observe reasoning - [ ] Received detailed analysis
- [ ] Multiple perspectives considered
Task 3: Compare with Thinking Off (10 min)
Now toggle thinking off and ask the same question.
Step 1: Press Option+T / Alt+T to turn thinking off.
Step 2: Ask the same question:
Should this application migrate from Passport.js to a custom JWT-based authentication system?Step 3: Toggle thinking back on (Option+T / Alt+T) when done.
Compare:
| Aspect | Thinking On (default) | Thinking Off |
|---|---|---|
| Depth of analysis | ||
| Trade-offs listed | ||
| Risks identified | ||
| Actionability | ||
| Response time |
Success criteria:
- [ ] Both responses received
- [ ] Differences identified
- [ ] Understand when thinking adds value vs overhead
Task 4: Apply Insights (5 min)
Use the extended thinking analysis to make a decision.
Questions to answer:
- What decision would you make based on the analysis?
- What follow-up questions do you have?
- What would you need to validate before proceeding?
Document your decision:
## Decision: [Topic]
### Analysis Summary
[Key points from extended thinking response]
### Decision
[What we decided and why]
### Next Steps
1. [Action item]
2. [Action item]
3. [Action item]
### Risks to Monitor
- [Risk 1]
- [Risk 2]Success criteria:
- [ ] Decision documented
- [ ] Reasoning explained
- [ ] Next steps identified
When to Use Extended Thinking
Use extended thinking for:
- Architecture and design decisions
- Migration planning
- Complex debugging
- Security analysis
- Performance optimization strategy
Don't use for:
- Simple code generation
- Documentation
- Straightforward refactoring
- Quick lookups
Tips for Better Questions
- Provide context - "Given our current tech stack of..."
- List constraints - "We have 2 developers and 3 months"
- Ask for trade-offs - "What are the pros and cons?"
- Request specifics - "Include concrete examples"
Example Extended Thinking Questions
With thinking enabled (the default), try these prompts:
We're experiencing slow API response times (>500ms). Analyze the hackathon-starter codebase and identify potential bottlenecks. Consider database queries, middleware, and async patterns.Our team is debating whether to add TypeScript to this JavaScript project. Given the codebase size and our 6-month timeline, what's your recommendation? List trade-offs.What would be the impact of switching from Express sessions to JWT tokens? Consider security, scalability, and implementation effort.Deliverables
At the end of this lab, you should have:
- A complex technical question formulated
- Extended thinking response received and analyzed
- Comparison with standard response
- Documented decision based on the analysis
Next Steps
After completing this lab, move on to Lab 3.3: Workflow Automation.