797 words Slides

10.1 Personal Preferences

Course: Claude Code - Power User Section: Customizing Claude Code Video Length: 2-5 minutes Presenter: Daniel Treasure


Opening Hook

Claude Code adapts to you. Just like you wouldn't code in an editor that fights your workflow, Claude shouldn't work against your preferences. In this video, we'll explore how to configure output styles, terminal behavior, and model defaults so Claude feels native to the way you think.


Key Talking Points

1. Output Styles: Tuning How Claude Communicates

  • Choose between concise (quick answers, minimal explanation) and detailed (full context, teaching-focused)
  • Code-first (show the solution immediately) vs. explanation-first (build understanding, then code)
  • These aren't global rules—they affect tone, depth, and pacing What to say: "Different tasks need different styles. A bug fix needs code fast. A architecture discussion needs thinking first. Claude Code lets you set a baseline, then adjust per session." What to show on screen: ~/.claude/settings.json with outputStyle and explanationMode fields. Toggle between two projects with different preferences side-by-side.

2. Vim Mode Toggle

  • Enable vi/vim keybindings in the editor
  • Familiar to users with vim muscle memory
  • Disable for users preferring standard editor controls What to say: "If you live in vim, Claude Code speaks your language." What to show on screen: Settings UI showing vim mode toggle. Demonstrate cursor movement using vim keys (hjkl) in a live edit.

3. Terminal Setup: Shell, Prompt, Multi-line

  • Default shell: choose bash, zsh, fish, etc.
  • Prompt behavior: auto-execution vs. manual review before running
  • Multi-line commands: break complex commands into readable chunks What to say: "Your terminal is your control center. If bash is home, Claude defaults to bash. If you prefer review-before-execute, that's a setting too." What to show on screen: ~/.claude/settings.json shell field. Terminal window executing a claude bash command. Show multi-line output formatting.

4. Model Defaults for Consistent Performance

  • Set preferred model (Opus 4.6 for deep reasoning, Haiku for speed)
  • Temperature and reasoning preferences carry across sessions
  • Cost/performance trade-offs baked into settings What to say: "You might love Opus for planning sessions and Haiku for quick refactors. Set defaults per-project or per-task type, and Claude remembers." What to show on screen: Settings showing model field. Demonstrate two quick tasks—one with Opus, one with Haiku—and compare speed/depth.

Demo Plan

  1. Open ~/.claude/settings.json in editor
  2. Show key preference fields:
  3. outputStyle: "concise" or "detailed"
  4. explanationMode: "code-first" or "explanation-first"
  5. vim.enabled: true/false
  6. terminal.defaultShell: "bash"
  7. terminal.promptBehavior: "auto" or "review"
  8. model: "claude-opus-4-6"
  9. temperature: 0.7
  10. Make a live edit to outputStyle, save, and run a quick claude chat command to show the change
  11. Toggle vim mode, demonstrate hjkl movement in an edit session
  12. Run a multi-line terminal command to show formatting respect

Code Examples & Commands

Check current settings:

cat ~/.claude/settings.json

Edit settings (one preference):

# outputStyle: concise (keep explanations brief)
# outputStyle: detailed (full teaching mode)
# Default: detailed

Settings JSON skeleton:

{
  "outputStyle": "detailed",
  "explanationMode": "explanation-first",
  "vim": {
    "enabled": false
  },
  "terminal": {
    "defaultShell": "bash",
    "promptBehavior": "auto",
    "multiLineFormat": true
  },
  "model": "claude-opus-4-6",
  "temperature": 0.7
}

Test a preference change:

claude chat "What does this regex do: /^[a-z]+@[a-z]+\.[a-z]{2,}$/?"
# Watch for concise vs. detailed response

Gotchas & Tips

Gotcha: Changing model in settings affects all future sessions, not current ones. Restart claude to pick up changes.

Tip: Use different settings files per project by setting CLAUDE_CONFIG_DIR environment variable. Team members can use different personal preferences on the same project.

Tip: outputStyle and explanationMode don't override explicit user requests in chat. They're defaults when you don't specify preference.

Gotcha: vim mode only affects the editor within Claude Code sessions, not your system vim. It's a compatibility layer.

Tip: temperature closer to 0 = more deterministic (better for code generation). Temperature closer to 1 = more creative (better for brainstorming).


Lead-out

Personal preferences are your baseline. In the next video, we'll move beyond personal settings to team-wide standards—storing shared instructions in CLAUDE.md so everyone on your team gets consistent, predictable Claude behavior.


Reference URLs

  • ~/.claude/settings.json (local file)
  • Claude Code documentation: settings and preferences
  • OpenAI temperature guide (conceptual reference)

Prep Reading

  • Review your own workflow: what frustrates you most when Claude doesn't match your style?
  • Think about your team: are there repeatable preferences everyone wants?

Notes for Daniel: This is the personal customization foundation. Keep it relatable—people care about this because it affects every interaction. Show the settings file early, demystify it, then show the real impact with side-by-side comparisons. The vim demo is optional if time is tight; focus on outputStyle and model if you need to cut.